我有一个自定义适配器(扩展 BaseAdapter)。可以在列表的顶部或底部添加或删除项目。物品的高度各不相同,有些比其他的要高得多。
我看到的行为是这样的:
向下滚动到列表中间
异步地,将一个项目添加到列表顶部或从列表顶部删除,调用 notifyDataSetChanged()
Desired:用户没有任何变化,因为数据集的变化只影响屏幕外的项目
实际:列表的屏幕部分跳转,因为其中的所有项目的位置都增加或减少,并且不同的项目位于旧位置
更改项目时如何避免打乱当前视图?
对我来说,适配器应该能够翻阅无限的数据列表似乎是合理的,但我没有运气在野外找到这样的例子。思考这个问题的正确方法是什么?
谢谢!