RecyclerView 的对讲功能不好

RecyclerView 's talkback function not well

我现在正在使用 RecyclerView 而不是 ListView 来构建一个 android 旨在帮助盲人的应用程序。

问题是当我开启对讲功能时, reader 一个一个读列表,我无法通过手势控制 reader 跳转到下一个或前一个项目.我能做的就是等待 reader 直到它到达我需要的那个。我的测试phone是三星S4。

根据我同事的经验,在普通的ListView上,对讲功能配合手势使用效果很好。

现在我想知道这是不是 RecyclerView 中的一个错误 API?还是设置或代码有问题?

总之,我会继续测试的。

这是因为recyclerView作为ViewGroup获得了焦点,而列表中的item没有获得焦点。

因此在 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">

如果问题仍然存在,请在您的 Fragment 中尝试此操作:

mRecyclerView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);

我通过设置

解决了这个问题

android:clickable="true"

到布局中的元素(文本视图),它在我的情况下工作得很好。