任何人都可以告诉我吗?我如何使用相同的按钮进行两个动作? 就像我在我的活动中使用一个按钮来计算一些值,并在计算出时再次按下相同的按钮然后重置所有字段。喜欢这个应用程序 http://www.craziness.com/games/play-love-tester/当我按下按钮测试爱情时 然后我再次按下相同的按钮,然后重置所有字段。 我应该在我的活动中使用什么来解决上述问题?
答案 0 :(得分:3)
您可以创建一个全局变量来指示程序的状态,然后在需要时更改此值。在OnClickListener
的{{1}}中,您创建了一个Button
语句,用于检查此变量并为相关值执行所需的操作。
示例:
if
答案 1 :(得分:1)
如果您不希望有人看到文字发生变化。测试(例如“点击”和另一个状态“点击”(最后一个空白)或其他解决方案。
....
Button bt = (Button) findViewById(R.id.button);
bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// todo: check for expected instance (Button)
Button btc = (Button)v;
String bText = btc.getText().toString();
if (bText == "open") {
btc.setText("close");
}
else if (bText == "close") {
btc.setText("open");
}
}
[...]
答案 2 :(得分:0)
您可以使用切换按钮执行此操作。
在xml文件中添加切换按钮
<ToggleButton
android:id="@+id/tbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textOff="Reset"
android:textOn="Calculation"
android:background="@drawable/icon"/>
Java文件
public class Reviews extends Activity implements OnClickListener {
private ToggleButton tbtn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tbtn = (ToggleButton) findViewById(R.id.tbtn);
tbtn.setOnClickListener(this);
public void onClick(View view) {
if (tbtn.isChecked()) {
//calculate the result
}
else {
//Reset your global calculation variable;
}
}
}
}