2015-12-18 69 views
3

作爲標題。 我正在寫一個支持多選模式的自定義RecyclerView。我需要跟蹤每個項目的選定/未選擇狀態。所以在recyclerView的數據大小發生變化之後。我想更新我的跟蹤狀態列表的大小。 但我不知道在哪裏可以覆蓋方法:notifyDataSetChanged,notifyItemChagned ....如何重寫RecyclerView Adapter的方法notifyDataSetChanged,notifyItemChanged ...

+0

您是否找到任何解決方案? – vuhung3990

回答

5

你不能因爲它是在final看到RecyclerView.Adapterhere

您可以使用overrideBaseAdapterListView

@Override 
public void notifyDataSetChanged() { 
    // TODO Auto-generated method stub 
    super.notifyDataSetChanged(); 
} 
0

你不能因爲你不能覆蓋最終方法

+0

這是一個正確的答案,但您必須解釋更多併爲OP提供解決方案。例如,包裝類或覆蓋動畫,以防OP在'notifyItemInserted()'時想改變動畫。 – nyconing

10

由於上一個答案已經正確說明。你不能像那些方法最終

我實現FastAdapter

我想出的唯一解決方案是命名這些方法略有不同,當走進了同樣的情況。 notifyDataSetChanged - >notifyAdapterDataSetChanged https://github.com/mikepenz/FastAdapter/blob/develop/library/src/main/java/com/mikepenz/fastadapter/FastAdapter.java#L1354

public void notifyAdapterDataSetChanged() { 
    //... your custom logic 
    notifyDataSetChanged(); 
} 

對於庫是改善關於這一點的文檔很重要,但它是截至目前唯一的解決辦法。

相關問題