【问题标题】:How to change text on button when the button has a particular current text (Android Studio/Java&XML)当按钮具有特定的当前文本时如何更改按钮上的文本(Android Studio/Java XML)
【发布时间】:2017-04-28 02:24:21
【问题描述】:

所以我正在尝试做一件非常简单的事情,但由于某种原因我不知道该怎么做。我尝试过在线搜索,但不断寻找不能完全回答我问题的资源。如何更改按钮上的文本,不是如果按下该按钮,而是如果按下任何按钮并且按下按钮上的文本等于某个值?我所有的字符串都保存在 strings.xml 文件中,我只是在我的 fragment_main.xml 中引用它们(例如,使用 android:text="@string/firstoption" ,但如果这样更容易,我可以对字符串进行硬编码。我也是在用fragment,那我应该把onClick方法放在MainActivityFragment.java还是MainActivity.java中?

【问题讨论】:

    标签: java android xml android-studio onclick


    【解决方案1】:

    尝试为您的按钮创建 2 个 div。在按钮单击事件上显示和隐藏 div。使用#divid 获取div。或者,按钮文本应该是一个动态值,它应该在您点击页面上的任何按钮时发生变化。

    【讨论】:

      【解决方案2】:

      使用下面的代码,您将创建一个通用的 OnClickListener“buttonClickListener”。然后,您可以将相同的点击侦听器添加到您也想侦听的所有按钮。在本例中,按钮 1、2 和 3。当您单击其中任何一个按钮时,将调用 buttonClickListener。 View v 参数将是触发此事件的视图的引用,在我们的例子中,无论按下哪个按钮。然后,您可以将 v 强制转换为 Button 并检查所单击按钮的文本。如果是某个值,则可以设置所需按钮的文本,在本例中为 buttonToSetText 按钮。

          final OnClickListener buttonClickListener = new OnClickListener() {
                  public void onClick(final View v) {
                      Button b = (Button)v;
                      if(b.getText().toString().equals("something")){
                         buttonToSetText.setText("value to set");
                      }               
                  }
              };
              Button buttonToSetText = (Button) findViewById(R.id.buttonToSetText);
      
              Button button1 = (Button) findViewById(R.id.button1);
              Button button2 = (Button) findViewById(R.id.button2);
              Button button3 = (Button) findViewById(R.id.button3);
      
              button1.setOnClickListener(buttonClickListener);
              button2.setOnClickListener(buttonClickListener);
              button3.setOnClickListener(buttonClickListener);
      

      【讨论】:

        猜你喜欢
        • 2019-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-21
        • 2018-03-09
        相关资源
        最近更新 更多