Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在单击不同按钮时在片段中的Textview中设置不同的字符串?_Java_Android_Android Fragments_Android Button - Fatal编程技术网

Java 如何在单击不同按钮时在片段中的Textview中设置不同的字符串?

Java 如何在单击不同按钮时在片段中的Textview中设置不同的字符串?,java,android,android-fragments,android-button,Java,Android,Android Fragments,Android Button,我是Android应用程序编程新手 我有两个片段-fragmentA.xml和fragmentB.xml 在fragmentA中有两个按钮-按钮一(id:btnOne)和按钮二(id:btnTwo) 在fragmentB中有TextView(id-TextView) 在fragmentBjava类中有两个String-string1和string2 两个按钮都指向片段b 当我按下按钮1时,我需要两个按钮将textView文本设置为string1 当我按下按钮2时,我会看到string2 我该怎么

我是Android应用程序编程新手

我有两个片段-
fragmentA.xml
fragmentB.xml

fragmentA
中有两个按钮-按钮一(id:
btnOne
)和按钮二(id:
btnTwo

fragmentB
中有TextView(id-
TextView

fragmentB
java类中有两个
String
-
string1
string2

两个按钮都指向
片段b

当我按下按钮1时,我需要两个按钮将
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语句吗


Thanx

在项目中创建一个
Global
类,并定义一个public字符串

public class Global{
  public static String TEXT = "";
}
在您的
片段A
中,更改按钮单击事件时的
文本

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);

在项目中创建一个
Global
类,并定义一个public字符串

public class Global{
  public static String TEXT = "";
}
在您的
片段A
中,更改按钮单击事件时的
文本

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;
              }
            });
 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;
    }
FragmentB.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;
              }
            });
 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;
    }

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;
              }
            });
 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;
    }
FragmentB.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;
              }
            });
 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;
    }

“两个按钮都指向FragmentB”这是什么意思?在全局类中只创建一个字符串(两个片段都可以访问),并将其设置为textview,…只需更改按钮上的字符串,单击它就会自动显示更改的一个…@AnshulJain我使用一种方法打开碎片B,我使用按钮一和按钮二的onClick方法中的方法你尝试过我的方法吗suggested@Mohit你的意思是我应该在MainActivity.java中声明一个字符串。你能给我提供密码吗。如果有两个以上的botton呢。我的意思是每个按钮都有不同的字符串。“两个按钮都引用FragmentB”这意味着什么?在全局类中只创建一个字符串(两个fragment都可以访问),并将其设置为textview,…只需更改按钮上的字符串,单击它就会自动显示更改的一个…@AnshulJain我使用一种方法打开碎片B,我使用按钮一和按钮二的onClick方法中的方法你尝试过我的方法吗suggested@Mohit你的意思是我应该在MainActivity.java中声明一个字符串。你能给我提供密码吗。如果有两个以上的botton呢。我的意思是每个按钮都有不同的字符串,它起作用了。我可以使用string.xml资源文件中的string吗?我不建议这样做,因为您可以获取我存储在string中的内容,但您可以在运行时进行修改。请查看post…它成功了。我可以使用string.xml资源文件中的string吗?我不建议这样做,因为您可以获取我存储在string中的内容,但您可以在运行时进行修改。请查看post。。。