如何在android中使图像按钮持续可点击

如何在android中使图像按钮持续可点击,android,imageview,imagebutton,Android,Imageview,Imagebutton,我正在开发一个包含最喜欢的功能的应用程序。当用户单击图像按钮时,它应该更改其背景资源,并根据其当前背景资源执行某些操作。问题是,我需要按钮持续可点击,这样,如果用户不小心将项目添加到收藏夹中,他/她就可以将其从收藏夹中删除 下面是执行更改的onClickListener,但它在我的活动中只执行一次。一旦用户更改了收藏状态,他/她将无法再次更改,除非他/她离开活动并再次继续 ImageButton fav = (ImageButton) findViewById(R.id.fav); fa

我正在开发一个包含最喜欢的功能的应用程序。当用户单击图像按钮时,它应该更改其背景资源,并根据其当前背景资源执行某些操作。问题是,我需要按钮持续可点击,这样,如果用户不小心将项目添加到收藏夹中,他/她就可以将其从收藏夹中删除

下面是执行更改的onClickListener,但它在我的活动中只执行一次。一旦用户更改了收藏状态,他/她将无法再次更改,除非他/她离开活动并再次继续

ImageButton fav = (ImageButton) findViewById(R.id.fav);    
fav.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if (item.getIsFav() == 1) {
                    fav.setImageResource(R.drawable.fav_dimed);
                    editFavorite("remove from favorites");
                } else if (item.getIsFav() == 0) {
                    fav.setImageResource(R.drawable.fav);
                    editFavorite("add to favorites");
                }
            }
        });

任何需要帮助的人:)

这可能是因为您可能正在设置-fav按钮setClickable-false或setEnabled-false

您确定代码中没有类似的内容吗

fav.setEnabled(假)
fav.可点击设置(false)


可能
项中的变量
isFav
未更新(始终
1
0
),因此对后续单击没有影响。请您也发布
editFavorite()
的代码好吗?我确信当用户单击按钮时,isFav的值会根据其当前值进行更改(如果1,则变为0,如果0,则变为1)。问题不在这里,问题是按钮本身在用户单击一次后就变得不可单击。使用“切换”并检查切换的状态(如果打开),然后添加Fav否则删除由于原因仍然不清楚,我有一些问题:如何存储
isFav
?我假设您正在使用SQLite?如果是,是否直接将该值更新到DB,而不是当前的
?如果
editFavorite()
与更新
isFav
有关,您能在这里发布相关代码吗?最后,尝试添加
Log.i(“OnClick”,“Clicked”)
位于
onClick()
内部,就在
if-else
块上方。看看听众是否总是对你的点击做出回应。谢谢大家的评论@KaranMavadhiya:问题不在于所用小部件的类型,它们都做相同的事情。不,我没有。我刚刚添加了fav.setClickable(true);和fav.setEnabled(真);在onClick()方法体中,确保它是可单击的,但没有任何更改!