单击不同的按钮时如何在 Fragment 的 Textview 中设置不同的字符串?
How to set Different String in a Textview in Fragment while clicking different Button?
我是 Android 应用程序编程的新手。
我有两个片段 - fragmentA.xml
和 fragmentB.xml
。
在 fragmentA
中有两个按钮 - 按钮一(id:btnOne
)和按钮二(id:btnTwo
)。
在fragmentB
中有TextView(id-textView
)
在fragmentB
javaclass中有两个String
-string1
和string2
两个按钮都指的是fragmentB
。
我想要两个 当我按下按钮一时将 textView
文本设置为 string1
和 string2
当我按下按钮二时。
我该怎么做?
我在 fragmentB
java class 中使用以下代码仅显示 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 语句吗?
谢谢
在你的项目中创建一个Global
class并定义一个public字符串..
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);
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;
}
我是 Android 应用程序编程的新手。
我有两个片段 - fragmentA.xml
和 fragmentB.xml
。
在 fragmentA
中有两个按钮 - 按钮一(id:btnOne
)和按钮二(id:btnTwo
)。
在fragmentB
中有TextView(id-textView
)
在fragmentB
javaclass中有两个String
-string1
和string2
两个按钮都指的是fragmentB
。
我想要两个 当我按下按钮一时将 textView
文本设置为 string1
和 string2
当我按下按钮二时。
我该怎么做?
我在 fragmentB
java class 中使用以下代码仅显示 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 语句吗?
谢谢
在你的项目中创建一个Global
class并定义一个public字符串..
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);
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;
}