1、使用新建线程结合handler来更新UI线程中的 ListView,快速点击“刷新”,会出现下面的错误:
The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread
原因:listview的数据进行了更改,而调用notifyDataChange未能及时进行更新,一般出现这种情况都是数据的获取和notifyDataChange在2个线程中导致的。
而应该都放在UI线程里。
处理方法:
在访问网络的线程里增加一个临时的数据存储结构,用handler通知UI,然后把listview的数据和notifyDataChange放在一起。
2、在Activity onStop()方法中不要放耗时比较长的操作,如停止线程,关闭数据库等。因为会阻塞第二个新启动的Activity。
记录开发过程中遇到的2个小bug
时间: 2024-10-10 08:25:08