首页 > 解决方案 > 触摸监听器在 RecyclerView + ViewPager2 中不起作用

问题描述

我当前的布局有一个CoordinatorLayout,其中我TabLayout连接到一个ViewPager2. 在 ViewPager 中,我有几个RecyclerView.

<androidx.coordinatorlayout.widget.CoordinatorLayout>
    <com.google.android.material.appbar.AppBarLayout ... ">
        <androidx.appcompat.widget.Toolbar ... />
            <com.google.android.material.tabs.TabLayout
                ...
                app:tabMode="scrollable" />
    </com.google.android.material.appbar.AppBarLayout>
    
    <androidx.viewpager2.widget.ViewPager2
        ...
        android:clickable="false"
        android:longClickable="false"
        app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

我的图像网格 (RecyclerView)通过这个RecyclerView.OnItemTouchListener使用 a来实现拖动选择功能。

问题:当我在没有 ViewPager2 的情况下使用 RecyclerView 时,拖动选择可以正常工作,但是一旦我将 RecyclerView 片段放入视图分页器中,它的滑动手势就会开始干扰 RecyclerView 的触摸侦听器。

为了确认这一点,我做了viewPager.setIsUserInputEnabled(false),并且拖动选择开始工作,但是视图寻呼机滑动不再起作用。

标签: androidandroid-recyclerviewandroid-viewpagerandroid-viewpager2

解决方案


推荐阅读