我想在简单的按钮中切换按钮的功能。比如
Button b=(Button)findViewById(R.id.x);
if(b.isChecked())
{
//do somthing
}
else
{
//do somthing
}
任何人都有任何逻辑吗?我不想切换按钮所以请帮忙。
答案 0 :(得分:4)
您可以使用按钮的setTag(Object o)
和getTag()
属性。
通过 xml 中的default
将代码设置为“开启”(根据您的需要):
然后在 JAVA :
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(b.getTag().toString().trim().equals("on"))
{
b.setTag("off");
//And your neceaasary code
}
else if(b.getTag().toString().trim().equals("off"))
{
b.setTag("on");
//And your neceaasary code
}
}
});
答案 1 :(得分:2)
使用CheckBox更好,你可以通过更改背景使CheckBox看起来像一个按钮。请参阅this链接,这可能会有所帮助。
答案 2 :(得分:1)
您需要将onClickListener
与布尔值结合使用才能记住按钮上的状态:
Button button = (Button)findViewById(R.id.button);
boolean state = false;
button.setText(state?"state true":"state false");
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (state)
state = false;
else
state = true;
button.setText(state?"state true":"state false");
}
});