0

晚上好,

我问自己以下问题:

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

第一个状态:“添加到收藏夹”

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

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

有没有人有一个简单的 OnClickListener 解决方案,这似乎是不可能的。

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

像那样 :

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

1 回答 1

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;

                }
            });
于 2012-08-11T23:04:39.967 回答