7

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

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

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

现在我只是想知道它是 RecyclerView API 中的错误吗?还是设置或代码有问题?

无论如何,我会继续测试它。

4

2 回答 2

13

这是因为 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">

如果问题仍然存在,请在 Fragment 中尝试:

mRecyclerView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
于 2015-03-21T20:38:31.013 回答
1

我通过设置解决了这个问题

安卓:可点击=“真”

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

于 2015-09-10T05:38:37.247 回答