我是Android应用程序编程的新手。
我有两个片段 - fragmentA.xml
和fragmentB.xml
。
在fragmentA
中有两个按钮 - 按钮一(id:btnOne
)和按钮二(id:btnTwo
)。
在fragmentB
中有TextView(id- textView
)
在fragmentB
java类中有两个String
- string1
和string2
两个按钮均指fragmentB
。
当我按下按钮一时,我想要将textView
文本设置为string1
当我按下按钮2时,string2
。
我该怎么做?
我在fragmentB
java类中使用以下代码仅显示string1
public View onCreateView(
LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.oop_page,container,false);
TextView textV = (TextView)rootView.findViewById(R.id.textView);
textV.setText(string1);
return rootView;
}
我可以在这里使用任何if-else语句吗?
感谢名单
答案 0 :(得分:2)
在项目中创建Global
课程并定义公开字符串..
public class Global{
public static String TEXT = "";
}
在Fragment A
更改此TEXT
按钮点击事件..
but1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Global.TEXT = "string 1";
}
});
but2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Global.TEXT = "string 2";
}
});
与其他按钮相同,如果你有
在FragmentB
仅setText()
....中,将激光值更改为Text
text.setText(Global.TEXT);
答案 1 :(得分:0)
<强> FragmentA.java 强>
public boolean btn1Clicked, btn2Clicked = false;
Button button1 = (Button) rootViewfindViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn1Clicked = true;
}
});
Button button2 = (Button) rootView.findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn2clicked = true;
}
});
<强> FragmentB.java 强>
public View onCreateView(
LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.oop_page,container,false);
TextView tv1 = (TextView)rootView.findViewById(R.id.textView);
if(!(FragmentA.btn1Clicked))
{
// Not Clicked
}
else{
tv1.setText("Button 1 Clicked!")'
}
return rootView;
}