带状态android的按钮

时间:2012-08-11 22:56:13

标签: button jbutton imagebutton

晚上好,

我问自己以下的休息时间:

我想创建一个具有以下两种状态的收藏夹按钮:

第一州:“添加到收藏夹”

第二个状态(OnClick事件):“从收藏夹删除”

但是我也可以通过第二个OnClick事件等回到第二个状态:“添加到收藏夹”。

有没有人使用简单的OnClickListener来解决它似乎是不可能的。

我终于使用自定义复选框解决了我的问题!这是使用喜欢的东西的最佳方式,因为你可以获得你的drawable状态!!

像那样:

favoris_button = (CheckBox) findViewById(R.id.star);

            favoris_button.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    if (((CheckBox) v).isChecked()) {
                        favoris_button.setText("Supprimer des categories");
                    }
                    else
                        favoris_button.setText("Ajouter aux favoris");
                }
            });

1 个答案:

答案 0 :(得分:0)

在侦听器中运行此代码或在其周围包装函数并将其传递给布尔值并在需要时调用它。启动,重置或每当您想要更改状态时。如果单击该按钮,则需要翻转状态。

  private Boolean check;
favoris_button = (Button) findViewById(R.id.promotion_favoris);      

            favoris_button.setOnClickListener(new View.OnClickListener() 
            {
                public void onClick(View v) 
                {

            if (check == true)
            {
                favoris_button.setBackgroundColor(R.drawable.btn_orange9);
                favoris_button.setText("Supprimer des favoris");
            }
            else
            {
                favoris_button.setBackgroundColor(R.drawable.btn_red9);
                favoris_button.setText("Ajouter aux favoris");
            }
            check ^= true;

                }
            });