我想在点击一个项目后禁用对整个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运算符,非常简单。