其他分享
首页 > 其他分享> > 带有嵌套的RecyclerView的RecyclerView-使嵌套的RecyclerView可作为一个整体单击

带有嵌套的RecyclerView的RecyclerView-使嵌套的RecyclerView可作为一个整体单击

作者:互联网

我使用一个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)

标签:android-recyclerview,onclicklistener,android
来源: https://codeday.me/bug/20191120/2041990.html