Android 如何在单击按钮时更改按钮的名称?

Android 如何在单击按钮时更改按钮的名称?,android,button,onclick,Android,Button,Onclick,在我的计算器应用程序中,我需要一个反向按钮,单击该按钮可更改其他按钮的文本。像sin-to-sin-reverse等。这可能吗?您只需在按钮onclick事件中更改按钮的文本即可。 比如说 Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick

在我的计算器应用程序中,我需要一个反向按钮,单击该按钮可更改其他按钮的文本。像sin-to-sin-reverse等。这可能吗?

您只需在按钮onclick事件中更改按钮的文本即可。 比如说

Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {


            if(btn.getText().toString().trim().equals("sin")){
                btn.setText("sin inverse");
            }else if(btn.getText().toString().trim().equals("sin inverse")){
                btn.setText("sin");
            }

            }
        });
我认为这将有助于你

这是可能的

只需在onClick方法中为按钮重新设置按钮文本

buttonId.setText("Your button text");

从你所说的,虽然听起来你想改变按钮的功能以及文本。。。在这种情况下,您需要在onClick方法中放入if语句来处理这两种按钮状态。

此代码可能会对您有所帮助

final Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

btn.setText(new StringBuilder(btn.getText().toString().trim()).reverse());
        }
    });

虽然其他答案完全正确地向您展示了如何重命名按钮,但我建议另一种设计更简洁的解决方案:为“sin”和“sin inverse”使用不同的按钮,单击“inverse”按钮时,只需使它们可见/不可见即可。这样,您就可以编写干净的单击处理程序,而不必使用大量的“if(isInverseMode()…)”

要使其正常工作,只需在XML布局文件中声明一些用于反向操作的附加按钮,并将它们设置为
android:visibility=“gone”


如果随后在代码中将一个可见按钮设置为不可见,并将其旁边的下一个不可见按钮设置为可见,则用户的效果看起来就像是一个按钮与另一个按钮进行了交换(因此他只注意到按钮更改的文本)。

在按钮上设置文本将随时都有帮助。

检查它所说的测试“sin reverse”,但你的函数会使它像“esrevni nis”“我想提一下,但决定只回答他的问题。。。虽然我确实注意到,更改文本并不会改变函数。:)@巴拉克:你知道给一个饥饿的人要食物的区别只是一些鱼还是给他一根鱼竿教他钓鱼?如果我能负担得起的话,我更喜欢第二个是的,这是可能的,但是到目前为止你做了哪些尝试,哪些不适合你?请用更多信息编辑您的问题,因为StackOverflow不是为您编写代码的。