如何创建表现为切换按钮的按钮?

时间:2013-12-10 12:05:01

标签: android button togglebutton

我想在简单的按钮中切换按钮的功能。比如

Button b=(Button)findViewById(R.id.x);
if(b.isChecked())
{
//do somthing
}
else
{
//do somthing
}

任何人都有任何逻辑吗?我不想切换按钮所以请帮忙。

3 个答案:

答案 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");
             }
         });