这将是一个非常直截了当的问题。
当你表演时
adapter.notifyDataSetChanged()
,ListView通过重新加载每一行来刷新所有内容。
我想避免重播,所以我已经阅读了这个答案(Android - what is the meaning of StableIDs?):
稳定的ID允许ListView针对项目之间保持相同的情况进行优化 notifyDataSetChanged调用。它引用的ID是返回的ID 来自getItemId。
没有它,ListView必须重新创建所有视图,因为它无法知道 如果项目ID在数据更改之间是相同的(例如,如果ID是 只是数据中的索引,它必须重新创建所有内容)。用它, 它可以避免重新创建保存其商品ID的视图。
所以我覆盖了那个方法并返回true
,然后我设法为每一行获得一个唯一的ID。但是,当我触发adapter.notifyDataSetChanged
时,listview会重新计算所有内容。
问题是,我想避免这一切都重新计算,因为现有的行不会改变,只会在底部添加几条新闻(想想分页)。
有没有办法避免ListView的完全重新布局?
谢谢。