我最近重构了我的应用程序以使用喷气背包导航。在我的 MainActivity 上,我有一个 ViewPager,其中包含 3 个片段,每个片段有 1 个 recyclerview。因此,我将 ViewPager 从 Activity 移到了新的 Fragment。就功能本身而言,一切正常,但出现了一个真正困扰我的新问题:当我在 recyclerview 上长按选择一个项目时,涟漪效应会卡住并停留在那里,就好像我还在按下项目,我没有。这是所选项目的图片。可以看出,波纹效果在 TextView 上保持活跃。
选择本身由 android SelectionTracker 处理。TextView 的背景设置为background="?android:attr/selectableItemBackground"
. 整个 ViewItem 的背景设置为android:background="@drawable/bg_multi_selection
,而 bg_multi_selection 文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/secondaryLightColor" android:state_activated="true" />
<item android:drawable="@android:color/transparent" />
</selector>
那可能是什么问题?这特别奇怪,因为当 ViewPager 及其片段包含在 Activity 中而不是片段中时,问题并不存在。对于如何解决这个问题,有任何的建议吗?