我有被重用視圖中的回收來看,我的問題是,一個viewholder包含ViewPager和,如果recyclerview的適配器重用,其中viewholder充氣則認爲發生在一個異常觀看者。 但是,onCreateViewHolder方法僅在第一次調用。我怎樣才能避免這種行爲,並實現onCreateViewHolder可以被多次調用?不回收特定視圖類型RecyclerView
在此先感謝
我有被重用視圖中的回收來看,我的問題是,一個viewholder包含ViewPager和,如果recyclerview的適配器重用,其中viewholder充氣則認爲發生在一個異常觀看者。 但是,onCreateViewHolder方法僅在第一次調用。我怎樣才能避免這種行爲,並實現onCreateViewHolder可以被多次調用?不回收特定視圖類型RecyclerView
在此先感謝
使用recyclerView.getRecycledViewPool().setMaxRecycledViews(YOUR_VIEW_TYPE, 0);
這將禁用指定的視圖類型
非常感謝,這就像一個魅力! – FVod
這是getItemViewType
覆蓋是做什麼用的回收利用。
如果您覆蓋getItemViewType
以返回ViewPager
位置的不同值,RecyclerView
將使用它來知道它應該何時回收該視圖。
我已經在使用它,我的問題是這是同一個位置上的相同類型。當我向下滾動,然後再起來(因此同樣viewholder再次顯示)的問題正在發生 – FVod
那麼你真的需要發佈您的代碼和您的logcat,這應該不是太難解決。 –
*避免在recyclerview再利用項目* ==避免**在RecyclerView來看**回收...那麼,爲什麼使用RecyclerView呢? – Selvin
現在認真......爲什麼你不回到這裏,以你正在面臨的代碼和異常的最小例子?是不是更好使用RecyclerView並修復錯誤? – Selvin