在做列表数据显示的时候,使用smartRefreshLayout+recycleview 实现下拉刷新和上拉加载。但是在使用过程中会出现刷新完成后数据重新加载时整个页面闪烁问题。这个现象出现的有点晃眼...那么我们接下来需要从两个地方来解决这个问题。
1.取消动画
// 第一种,直接取消动画
RecyclerView.ItemAnimator animator = rvOrder.getItemAnimator();
if (animator instanceof SimpleItemAnimator) {
((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}
// 第二种,设置动画时间为0
rvOrder.getItemAnimator().setChangeDuration(0);
2将adapter中的一个方法重写
@Override
public long getItemId(int position) {
return position;
}
3配置adapter属性(在给recycleview设置adapter之前设置才有效果)
adapter.setHasStableIds(true);