android開發過程中,會遇到RecyclerView的做局部item刷新操作時候,出現了閃動問題.
解決方式一:
mCountDownAdapter = new CountDownAdapter(this, mTimeDownBeanList);
recycleView.setHasFixedSize(true);
recycleView.setLayoutManager(new LinearLayoutManager(this));
recycleView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));
((SimpleItemAnimator) recycleView.getItemAnimator()).setSupportsChangeAnimations(false);
recycleView.setAdapter(mCountDownAdapter);
recycleView.setHasFixedSize(true);
((SimpleItemAnimator) recycleView.getItemAnimator()).setSupportsChangeAnimations(false);
這兩個代碼需要添加
解決方式二:
同上述類似
adapter = activity?.let { SteamChargeAdapter(it) }!!
recycleView.setHasFixedSize(true)
adapter.setHasStableIds(true)
recycleView.layoutManager = gridLayoutManager
(recycleView.itemAnimator as SimpleItemAnimator?)!!.supportsChangeAnimations = false
在RecyclerView適配器中重寫這個方法:
@Override
public long getItemId(int position) {
return position;
}
以上兩種都可以解決,參照代碼修改就可以了