RecyclerView中的TextView无法集中注意力

时间:2018-04-06 20:03:09

标签: android listview android-recyclerview textview focus

我正在向ViewFlipper添加一个包含RecyclerView的视图,但是我无法将焦点移动到recycleler视图中的列表项,因此无法选择任何列表项。有人可以帮忙吗?

这是我的视图布局:

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <TextView
            android:id="@+id/main"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:gravity="center"
            android:layout_centerHorizontal="true"
            android:textSize="16dp"/>

    <android.support.v7.widget.RecyclerView
            android:id="@+id/settings_item_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/main"
            android:layout_marginTop="15dp"
            android:divider="@null"
    />
</RelativeLayout>

这是我的行项目布局,它只包含一个文本视图,我已将其设为可点击/可聚焦。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:clickable="true"
        android:focusable="true"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal">

        <TextView
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:focusable="true"
                android:clickable="true"
                android:gravity="center"/>
</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

如何设置OnClickListener?

如果在适配器中将OnClickListener设置为contentView,则从TextView中删除clickable / focusable。或者您可以将OnClickListener设置为TextView(@ + id / name),而不是将其设置为contentView。