2017-03-13 20 views
1

我不想重新綁定我的頂部標題視圖項目,因爲它包含一些重新計算時間效率不高的圖表圖表。假設我recycleView是:停止回收或重新綁定RecyclerView top header項目

ItemTypeHead1 
ItemTypeHead2 
ItemTypeList 
ItemTypeList 
. 
. 
ItemTypeList 

通常情況下這樣做我需要一些布爾值,每個頭和在onBindViewHolder檢查布爾值。例如:

if (!isItemTypeHead1Created && holder instanceof ItemTypeHead1) { 
     ((ItemTypeHead1) holder).onBindDataUpdate(Data mData); 
     isItemTypeHead1Created = true; 
    } 

所以,它不再綁定。但我正在尋找更好的解決方案。 請分享您的想法,讓我們討論它。

感謝

回答

1

用途:

recyclerView.getRecycledViewPool().setMaxRecycledViews(ItemTypeHead1, 0); 

這種方法不recyle Anyview的ItemTypeHead1型(最大數量的高速緩存= 0)

您可以閱讀更多的細節: https://www.reddit.com/r/androiddev/comments/2oks1l/recyclerviewgetrecycledviewpoolsetmaxrecycledviews/

+0

這很好。但在某些時候,當用戶更改ItemTypeList數據時,我需要更新ItemTypeHead1數據。那我該怎麼做? @RoShan –

+0

我想當你使用notifyItemChanged或notifyDataSetChanged時,它會強制重載視圖。 –