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