我现在使用RecyclerView而不是ListView来构建一个旨在帮助盲人的
Android应用程序.
问题是当我启动对讲功能时,读者逐个读取列表,我无法通过我的手势控制读者跳转到下一个或前一个项目.我能做的就是等待读者到达我需要的那个.我的测试手机是三星S4.
根据我同事的经验,对讲功能适用于普通ListView上的手势.
现在我只是想知道它是RecyclerView API中的一个错误吗?或者设置或代码有问题?
无论如何,我会继续测试它.
解决方法
这是因为recyclerView被聚焦为ViewGroup,而列表中的项目无法获得焦点.
因此,在ViewHolder的布局xml文件中,将focusable属性设置为true.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" style="@style/ItemInView">
如果问题仍然存在,请在片段中尝试:
mRecyclerView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);