關於RecyclerView嵌套導致item復用異常,界面異常的問題
阿新 • • 發佈:2019-03-19
bsp 方法 chan ret style chang 執行 問題 ram
常規需求:
外層RecyclerView嵌套內層RecyclerView , 在上下滑動的時候會出現item數據以及view的顯示異常。
解決辦法:
1、重寫 getItemViewType 方法
/** * 重寫 避免滑動過程界面混亂 * @param position * @return */ @Override public int getItemViewType(int position) { return position; }
2、因為是RecyclerView的復用機制導致的問題,可以暴力解決,禁止RecyclerView的復用,則不會出現view的異常
使用方法:
在 protected void convert()方法中執行
.setIsRecyclable(false); // 禁止復用
註意,禁止復用會導致性能過低,若是列表中沒有圖片等耗性能需求,則可以考慮使用
禁用復用會導致remove() notifyItemRemoved() notifyItemRangeChanged()等一系列刷新刪除操作出現異常,若有該需求,則不適用該方法
關於RecyclerView嵌套導致item復用異常,界面異常的問題