终极解决方案
终极解决办法是在RecyclerView的外部套上一层RelativeLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants">
<android.support.v7.widget.RecyclerView
android:id="@+id/menuRv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_16"
android:layout_marginRight="@dimen/margin_16"/>
</RelativeLayout>
隐隐感觉只是android:descendantFocusability=”blocksDescendants”一句在起作用。于是尝试在根布局上加这句,再把这个RelativeLayout删除。。问题又重现了。。可是后来发现不加android:descendantFocusability=”blocksDescendants”同样能完美解决,好奇怪的解决方案!!先不求甚解地用上吧。。
android:descendantFocusability属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点