禁用整个RecyclerView的点击次数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁用整个RecyclerView的点击次数相关的知识,希望对你有一定的参考价值。
我想在点击一个项目后禁用对整个RecyclerView
的点击,并在假设500 milis后再次启用它。
这个想法只是为了防止对RecyclerView项目的项目进行多次快速点击。例如,有些人可能会快速点击3个项目,所有这些项目都会被触发。
我尝试了setEnabled(false)
和setClickable(false)
,但它们都不能单独使用或一起使用。
答案
可能你必须禁用RecyclerView的所有子项。你可以这样做:
private static void setViewAndChildrenEnabled(View view, boolean enabled) {
view.setEnabled(enabled);
if (view instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view;
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View child = viewGroup.getChildAt(i);
setViewAndChildrenDisabled(child, enabled);
}
}
}
参数view
是您的RecyclerView。
另一答案
使用RxJava throttlefirst运算符,非常简单。
以上是关于禁用整个RecyclerView的点击次数的主要内容,如果未能解决你的问题,请参考以下文章
当我点击我的应用程序中的注册用户片段时应用程序崩溃..其中包含recyclerview
关于打开一个新活动以响应对片段内的 RecyclerView 项目的点击
更改片段(子片段)时 RecyclerView 中的奇怪叠加