Android Recyclerview和D-pad导航
我正在开发一个应用程序,需要在Android Recyclerview和D-pad导航,android,android-recyclerview,d-pad,Android,Android Recyclerview,D Pad,我正在开发一个应用程序,需要在RecyclerView中使用D-pad导航。我的问题是,尽管我在items.xml(news\u items)中设置了android:focusable=true,但它似乎不起作用 我的问题是:如何在RecyclerView中实现D-pad导航? RecyclerView位于以下布局内: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schema
RecyclerView
中使用D-pad导航。我的问题是,尽管我在items.xml
(news\u items)中设置了android:focusable=true
,但它似乎不起作用
我的问题是:如何在RecyclerView
中实现D-pad导航?
RecyclerView
位于以下布局内:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/emptyView"
android:visibility="gone"
tools:visibility="visible"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=":( \n No news available"
android:textSize="@dimen/fsn_emty_text"
android:layout_gravity="center_vertical"
android:gravity="center_horizontal"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
/>
</FrameLayout>
添加android:genderantfocusability=“aftergenders”解决了我的问题
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="afterDescendants"
/>
您的意思是希望关注“回收器”视图中的新闻项目
对吗?是的,新项目是回收器视图中每个项目的布局。我希望能够通过D-padLook在这里遍历Recyclerview中的项目@CarlosHernándezGil您的案例中的解决方案是什么?@sam_k将此添加到回收器视图中,正如您在接受的答案中所看到的那样:android:DegenantFocusability=“After子孙后代”,并且不要忘记将项目布局的根视图设为android:Focusability=“true”
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="afterDescendants"
/>