滚动 android recyclerview 禁止点击屏幕
Scrolling the android recyclerview inhibits clicking on the screen
我的 android 移动应用程序有这个问题,我正在使用 kotlin。
在项目的主体部分,我有一个通过 RecyclerView 制作的卡片列表,当卡片的数量超过屏幕可容纳的数量时,垂直滚动就会正确启用。一旦我垂直滚动列表,操作就完成了,但在释放后我不能再点击我应用程序中的任何地方。 (点击在应用程序外工作)
这是那段代码的HTML:
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/itemsswipetorefreshSite"
android:layout_width="wrap_content"
android:layout_height="0px"
android:layout_weight="1">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerViewSite"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@dimen/twenty">
</androidx.recyclerview.widget.RecyclerView>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
这段代码包含在 CoordinatorLayout 中,其中有一个 ConstraintLayout,而后者又有一个 包含列表的 LinearLayout。
应用程序的其他部分或其他组件/片段中没有出现同样的问题我有其他列表,以完全相同的方式制作,但在这种情况下它们不会产生此错误。
错误时产生的日志(从滚动开始)如下:
I/HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
W/HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:7.0, limit is:60The moving distance of Y is:61.94568, limit is:60
D/OverScrollerOptimization: fling time is flingTime = 1.9100340578075632 velocity = 1261
D/OverScrollerOptimization: fling time is flingTime = 1.9100340578075632 velocity = 1261
但是产生了相同的结果,在其他列表中对于相同的操作非常相似。
您的每一次帮助都是宝贵的,谢谢!
在 swipeRefreshlayout
和您的 recyclerView
中将 layout_height
设置为 wrap_content
[已解决]
也许可以帮到和我一样情况的人:我发现在问题列表的适配器文件中我找到了一个
requireActivity (). window.setFlags (WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
它不必在那里,每次我触摸列表时它都会被激活。草草复制粘贴的典型问题
我的 android 移动应用程序有这个问题,我正在使用 kotlin。
在项目的主体部分,我有一个通过 RecyclerView 制作的卡片列表,当卡片的数量超过屏幕可容纳的数量时,垂直滚动就会正确启用。一旦我垂直滚动列表,操作就完成了,但在释放后我不能再点击我应用程序中的任何地方。 (点击在应用程序外工作) 这是那段代码的HTML:
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/itemsswipetorefreshSite"
android:layout_width="wrap_content"
android:layout_height="0px"
android:layout_weight="1">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerViewSite"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@dimen/twenty">
</androidx.recyclerview.widget.RecyclerView>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
这段代码包含在 CoordinatorLayout 中,其中有一个 ConstraintLayout,而后者又有一个 包含列表的 LinearLayout。
应用程序的其他部分或其他组件/片段中没有出现同样的问题我有其他列表,以完全相同的方式制作,但在这种情况下它们不会产生此错误。
错误时产生的日志(从滚动开始)如下:
I/HwViewRootImpl: removeInvalidNode all the node in jank list is out of time
W/HiTouch_PressGestureDetector: Touch pointer move a lot. The moving distance of X is:7.0, limit is:60The moving distance of Y is:61.94568, limit is:60
D/OverScrollerOptimization: fling time is flingTime = 1.9100340578075632 velocity = 1261
D/OverScrollerOptimization: fling time is flingTime = 1.9100340578075632 velocity = 1261
但是产生了相同的结果,在其他列表中对于相同的操作非常相似。
您的每一次帮助都是宝贵的,谢谢!
在 swipeRefreshlayout
和您的 recyclerView
layout_height
设置为 wrap_content
[已解决]
也许可以帮到和我一样情况的人:我发现在问题列表的适配器文件中我找到了一个
requireActivity (). window.setFlags (WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
它不必在那里,每次我触摸列表时它都会被激活。草草复制粘贴的典型问题