2016-03-18 55 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。