RecyclerView自己滚动
RecyclerView嵌套RecyclerView实现复杂界面的需求,
然后RecyclerView莫名其妙自己滚动,原因是焦点被抢走了。
解决方法是在最外层的RecyclerView布局文件中加上
android:descendantFocusability="beforeDescendants"
//descendantFocusability是View的一个属性。可以理解是viewGroup和其子控件焦点相关的属性。
//通过这个属性可以指定viewGroup和其子View到底谁获取焦点,直接在viewGroup上使用就行。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
补充:
有了这个属性在recyclerView、listView等item中有ImageButton,Button,CheckBox等子控件的时候就可以很方便的控制是整个item获取焦点响应点击事件还是item中的这些子view获取焦点响应事件了。