android - 触摸监听器在 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)
,并且拖动选择开始工作,但是视图寻呼机滑动不再起作用。
解决方案
推荐阅读
- asp.net-core - 如何在 Razor 页面上删除 DevExtreme DataGrid 中的行之前显示删除确认对话框?
- html - 如何将样式从 HTML 移动到 CSS?
- macos - 如何像 [phw/peek] 一样使窗口内容透明
- python - 如何模拟单个单元测试的本地时区?
- sql - 当我的条件为假时,如何在 sql 中将计数重置为 0?
- excel - Excel VBA - 如何从文本创建模块
- arrays - React.js 在 useEffect 中对数据进行排序
- java - 如何从活动返回到导航底部的特定片段
- php - 存储 $_REQUEST 数据并在页面刷新后检索它(PHP)
- python-3.x - python中点和曲线之间的距离