如何在不刷新所有视图的情况下更新视图?
How update a view without refresh all view?
示例:
使用 ListView,我从数据库中获取 10 个项目并显示在视图上。当用户向下滚动并单击一个按钮时,我想从数据库中获取并显示 10 个以上的项目。但是我不想刷新整个视图,只需再添加 10 个即可。
我在 ListView 中使用 Cursor 和 Adapter,因此,当我用新数据交换 Cursor 时,Adapter 填充 ListView 刷新所有项目。
我正在寻找一些教程,class 或任何想法。
ListView
是在 API 级别 1 的开头添加的旧 class。
您使用的适配器 ListView
只有 notifyDataSetChanged()
用于刷新要显示的数据。
Google 意识到了这一限制,并在一年多前发布了 RecyclerView
,这是 ListView
.
的更高级、更灵活的替代品
RecyclerView.Adapter
class 还有很多方法,例如;
notifyItemRangeInserted(int positionStart, int itemCount)
这是适合您的情况的理想方法。
使用 Support Library RecyclerView
将使您的兼容性恢复到 API 7 (Android 2.1 Eclair)。
示例: 使用 ListView,我从数据库中获取 10 个项目并显示在视图上。当用户向下滚动并单击一个按钮时,我想从数据库中获取并显示 10 个以上的项目。但是我不想刷新整个视图,只需再添加 10 个即可。
我在 ListView 中使用 Cursor 和 Adapter,因此,当我用新数据交换 Cursor 时,Adapter 填充 ListView 刷新所有项目。
我正在寻找一些教程,class 或任何想法。
ListView
是在 API 级别 1 的开头添加的旧 class。
您使用的适配器 ListView
只有 notifyDataSetChanged()
用于刷新要显示的数据。
Google 意识到了这一限制,并在一年多前发布了 RecyclerView
,这是 ListView
.
的更高级、更灵活的替代品
RecyclerView.Adapter
class 还有很多方法,例如;
notifyItemRangeInserted(int positionStart, int itemCount)
这是适合您的情况的理想方法。
使用 Support Library RecyclerView
将使您的兼容性恢复到 API 7 (Android 2.1 Eclair)。