3.我的问题点:adpter1中onBindViewHolder方法中直接new一个adapter2,然后设置到recyclerview2上,导致每次刷新adapter都是一个新的对象。
网上说解决图片闪烁的处理方法:(mAdapter.setHasStableIds(true);) + (重写adpater的getItemId,保证itemId的唯一性)+调用notifyDataSetChanged()
还有:给imageview.setTag()
(其实是可以解决的,解决不了的话,肯定自身代码还有问题,比如我这个例子)
这些方法对我来说都没有作用,每次断点进去getTag都是null,我就纳了闷了。后来修改了adpter1中的代码: 在onBindViewHolder方法中,判断onBindViewHolder的适配是否为null,为空再new
if (helper.itemOrder_GoodInfor.getAdapter() == null) {
OrderListGoodsAdapter1 adapter = new OrderListGoodsAdapter1(mContext);
adapter.setHasStableIds(true);
GridLayoutManager managerBtn = new GridLayoutManager(mContext, 1);
helper.itemOrder_GoodInfor.setLayoutManager(managerBtn);
((SimpleItemAnimator) helper.itemOrder_GoodInfor.getItemAnimator()).setSupportsChangeAnimation