解决SimpleCursorAdapter不能自动更新的问题
2024-10-11 11:58:45
假设场景是这样的:你使用SimpleCursorAdapter显示数据,并监听数据的变化;在数据发生变化的时候,调用cursor的requery,期待UI显示也跟着变化。
但是,你可能会发现,UI并没有如期发生变化;此时,如果将程序切换到后台再切换到前台,UI将会反映最新的数据变化。
上面的现象说明:如果能促使对应Activity的onResume方法的执行,UI就会反映最新的数据变化。
但是,这不是一个好的方法,我想到的一个方法是(经验证,可以工作):
if (mCursor != null) {
mCursor.requery();
mAdapter.swapCursor(null);
mAdapter.swapCursor(mCursor);
}
这段代码一般放在ContentObserver的onChange方法里面,可以保证UI及时刷新;注意不能使用changeCursor方法,它会导致崩溃。
最新文章
- [Unity][Heap sort]用Unity动态演示堆排序的过程(How Heap Sort Works)
- 多个提高C#编程能力的建议
- js常用的地址栏参数获取
- MySQL------如何将SQLServer文件数据迁移到MySQL
- 深入理解C++的动态绑定和静态绑定【转】
- bzoj2338 数矩形
- Django 1.6 的测试驱动开发
- jstl__报错
- Beta冲刺 第六天
- Excel 2010如何打开多个独立窗口?
- Linux基础篇
- MYSQL列表中常用语句代码块
- HashMap 1.7
- 如何刻录cd音乐
- 英语口语练习系列-C27-艺术品-辨别物体-黄昏的歌
- Annotations
- Linux下如何查看系统启动时间和运行时间(转)
- 微软和Sun针对Java的世纪之战
- 使用java发送QQ邮件
- iOS Socket编程-C语言版(TCP)