在其他按钮上更改按钮文本 android

Change button text over other button android

我在 android studio 中创建了一个应用程序,我需要建议,我有一个按钮,我需要将点击第二个按钮上的文本更改为第一次点击。我有一个代码只更改 TextView 但不更改按钮上的文本。

 NewText = (TextView)findViewById(R.id.textView1);
 ChangeText = (Button)findViewById(R.id.ch_txt_ger);

 final TextView finalNewText1 = NewText;
 ChangeText.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        //Set Text on button click via this function.

        finalNewText1.setText(" (Frohe Weihnachten) ");

    }
 });

与您对 textView 所做的概念相同

Button SecondButton,ChangeText; // declaring the buttons
SecondButton = (Button)findViewById(R.id.button2);
ChangeText = (Button)findViewById(R.id.ch_txt_ger);

ChangeText.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        //This changes the text on the second button

        SecondButton.setText("New Text Here");

    }
 });

SecondButton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        //Do anything

    }
 });
      Button ChangeText;
    ChangeText = (Button)findViewById(R.id.ch_txt_ger);
    ChangeText.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            //part to change the button text
            Button tmp_button = (Button)findViewById(R.id.ch_txt_ger);
            tmp_button.setText("Frohe Weihnachten");

            //part to change the textview text
            TextView NewText
            NewText = (TextView)findViewById(R.id.textView1);
            finalNewText1.setText(" (Frohe Weihnachten) ");

        }
    });

After Clicking outlooking

给你:你可以定义一个临时按钮变量,如果设置相同的按钮在其自己的点击上导致问题,则对其进行更改。 如果文本不会根据用户而改变,并且如果您知道它像 On/OFF、Red/Green,您也可以使用 selector 文件对其进行编码,这将使java 代码看起来更干净。

一个小小的建议:定义将受影响的 TextView 和 Button 应该全部写在同一个函数中,并靠近它们被更改的地方,以便您跟踪编码它们的位置。

我想补充一件事,如果您想在关闭并重新打开应用程序时保存新按钮名称,您可以使用共享首选项:https://developer.android.com/training/basics/data-storage/shared-preferences.html