我使用一个RecyclerView来显示条目列表.每个条目都承载另一个RecyclerView,它是图像列表.
现在,我想使此嵌套的RecyclerView可单击,而不是可单击的项,而是可单击的整个视图.
我该如何实现?
问题:
>为嵌套的RecyclerView的主视图设置onClickListener起作用,但是仅当我在RecyclerView本身之外单击时
>在嵌套的RecyclerView上单击不会将单击传递给父视图(我什至试图将clickable,focusable,focusableIntouch设置为false,但触摸并没有委托,而是由嵌套的RecyclerView使用…
这是包装适配器的视图:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="0dp"
android:layout_margin="5dp"
android:foreground="?android:attr/selectableItemBackground" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/rlTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Datum"
android:textStyle="bold"
android:id="@+id/tvDate" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Info"
android:id="@+id/tvInfo" />
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rvData"
android:clickable="false"
android:focusableInTouchMode="false"
android:focusable="false"
android:layout_below="@+id/rlTop"
android:layout_width="match_parent"
android:layout_height="68dp"
android:scrollbars="horizontal" />
</RelativeLayout>
</android.support.v7.widget.CardView>
解决方法:
我调查了RecyclerView的源代码,这有所帮助:
recyclerView.setLayoutFrozen(true)