Android Recyclerview item设置selector背景无效问题

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);

猜你喜欢

转载自blog.csdn.net/qq_45648544/article/details/111523238