gpt4 book ai didi

Android RecyclerView 绘图问题(闪烁)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:52 25 4
gpt4 key购买 nike

我有一个 Activity1,其中有一个 fragment ,其中有一个 RecyclerView。选择列表中的项目将启动修改该项目的 Activity2。在 Activity2 完成后返回到 Activity1,我观察到 RecyclerView 首先绘制了 Activity2 之前的状态(保存的旧项目状态),然后在 onActivityResult 中我执行了 restartLoader() ,它提供了一组更新的数据,然后 RecyclerView 用新的重新绘制了自己数据。

此行为的问题在于 RecyclerView 闪烁 因为它最初绘制旧数据然后使用新数据重新绘制自身。假设我一直想在 Activity1.onActivityResult() 中使用 refreshLoader(),有没有什么好的方法可以避免这种闪烁?


更复杂的是,当 recycleview 为空时,我使用空 View 来显示...这会增加闪烁...

最佳答案

要消除回收站 View 上的更新闪烁,您可以使用:

 RecyclerView.ItemAnimator animator = mRecyclerView.getItemAnimator();
if (animator instanceof SimpleItemAnimator) {
((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}

要更新 RecyclerView 中的项目,您应该使用

    notifyItemChanged(int position)

- 通知任何已注册的观察者该位置的项目已更改。

代替 notifyDataSetChanged()

关于Android RecyclerView 绘图问题(闪烁),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36436297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com