0

在我的计算器应用程序中,我想要一个反向按钮,单击该按钮会更改其他按钮的文本。就像罪与罪相反等。这可能吗?

4

5 回答 5

2

您可以在该按钮的 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");
            }

            }
        });

我想这会对你有所帮助

于 2012-05-09T05:02:10.947 回答
1

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

为了使其正常工作,您只需在 XML 布局文件中为反向操作声明一些附加按钮并将它们设置为android:visibility="gone".

如果您随后将一个可见按钮设置为不可见,并将其旁边的下一个不可见按钮设置为在代码中可见,那么用户的效果看起来就像您交换了一个按钮(因此他只注意到按钮的文本发生了变化) .

于 2012-05-09T05:26:02.957 回答
0

这是可能的。

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

buttonId.setText("Your button text");

从您所说的来看,尽管听起来您想更改按钮功能以及文本...在这种情况下,您需要在 onClick 方法中放置一个 if 语句来处理两个按钮状态。

于 2012-05-09T05:02:48.247 回答
0

在按钮上设置文本会随时提供帮助。

于 2012-05-09T05:46:09.973 回答
-1

这段代码可以帮助你..

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());
        }
    });
于 2012-05-09T05:25:37.720 回答