如何更新视图而不刷新所有视图?

时间:2015-10-31 00:19:13

标签: android listview android-listview

实施例: 使用ListView,我从数据库中获取10个项目并在视图上显示。当用户向下滚动并单击一个按钮时,我想从数据库中带出并再显示10个项目。但是,我不想刷新整个视图,只需再添加10个。

我正在使用Cursor和Adapter到ListView,因此,当我用新数据交换Cursor时,适配器填充ListView刷新所有项目。

我正在寻找一些教程,课程或任何想法。

1 个答案:

答案 0 :(得分:1)

ListView是在API级别1开始时添加的旧类。 与ListView一起使用的适配器只有notifyDataSetChanged()来刷新要显示的数据。

谷歌意识到了这一限制,并在一年多前发布了RecyclerView,这是ListView更高级,更灵活的替代品。
RecyclerView.Adapter类有更多方法,例如;
notifyItemRangeInserted(int positionStart, int itemCount)
这是你的情况的理想方法。

使用Support Library RecyclerView将为您提供兼容性,直接回到API 7(Android 2.1 Eclair)。