我在imageview中使用了imageView和一个复选框作为RecyclerView中的一行。我把复选框的背景放在下面的代码中。 在显示行之后,当我检查特定位置的复选框时,图像在该位置发生变化但同时在我未检查的其他位置也发生相同的效果。
帮助弄清楚错误,我没有弄错。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/ic_love_dark_red" /> <!-- pressed -->
<item android:state_checked="false"
android:drawable="@drawable/ic_love_holo_blank" /> <!-- focused -->
<item android:drawable="@drawable/ic_love_holo_blank" />
</selector>
答案 0 :(得分:2)
您不能在xml文件中具有此功能(更改状态更改后的图片),因为Checkbox小部件的单个实例将在您的RecyclerView中多次使用,取决于它显示的数据大小。基本上,RecyclerView使用View Holder模式(我邀请您阅读,如果您不熟悉它),从而使图像在多行上发生变化。 您需要做什么:
希望你能开始工作,欢呼!