禁用整个RecyclerView

时间:2016-03-18 18:30:46

标签: android listview view android-recyclerview

我希望点击整个 RecyclerView点击一次,然后在假设500毫安后再次启用它。

这个想法只是阻止对RecyclerView项目的项目进行多次快速点击。例如,有些人可能会快速点击3个项目,所有这些项目都会被触发。

我已尝试过setEnabled(false)setClickable(false),但这两项都无法单独使用或一起使用。

2 个答案:

答案 0 :(得分:4)

可能您必须禁用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。

答案 1 :(得分:0)

使用RxJava油门优先运算符,非常简单。