Android Recyclerview item设置selector背景无效问题
一、在selector的xml文件中默认的状态放在了点击状态的前面,导致无效,(我的理解是)当它满足第一个状态后,就不会往下读取其他状态。
<item android:drawable="@color/white"/>
<item android:state_pressed="true" android:drawable="@color/gainsboro"/>
因此,要把默认状态放到最后
<item android:state_pressed="true" android:drawable="@color/gainsboro"/>
<item android:drawable="@color/white"/>
二、在一正确的条件下设置的selector背景也无效。有两个解决方法,任选其一都可以。
1.在设置背景的同时把clickable属性设置为true
android:clickable="true"
android:background="@drawable/selector_list_item"
2.给recycerview的item添加点击事件。
注:recycleview里面是没有现成的点击事件,需要自定义点击事件。想要了解自定义点击事件,请点击下面链接。在recycleview如何自定义点击事件。
itemView.setOnClickListener(this);