2016-03-18 57 views
2

我想要禁用点击整个RecyclerView一旦它的一个项目被点击并在设置500 milis后再次启用它。禁用点击整个RecyclerView

这个想法只是为了防止多个快速点击对RecyclerView项目的项目。例如,某人可能会快速点击3件物品,并且所有物品都会被触发。

我试过setEnabled(false)setClickable(false)但是它们不能单独使用或一起使用。

+0

你可以分享你在回收站中设置物品点击监听器的代码吗? – Jickson

回答

2

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