在我的计算器应用程序中,我想要一个反向按钮,单击该按钮会更改其他按钮的文本。就像罪与罪相反等。这可能吗?
问问题
603 次
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 回答