要禁止RecyclerView的复用,可以通过以下方法实现:
- 在RecyclerView的Adapter中,重写getItemViewType方法,确保每个Item都返回不同的ViewType,这样RecyclerView就不会复用相同类型的Item。
@Override
publicintgetItemViewType(intposition){
returnposition;
}
recyclerView.setLayoutManager(newLinearLayoutManager(context){
@Override
publicbooleansupportsPredictiveItemAnimations(){
returnfalse;
}
@Override
publicvoidonLayoutChildren(RecyclerView.Recyclerrecycler,RecyclerView.Statestate){
//禁止回收子View
setRecycleChildrenOnDetach(false);
super.onLayoutChildren(recycler,state);
}
});
通过以上方法就可以实现禁止RecyclerView的复用效果。