• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

王焘博客

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Android Adapter遇到的崩溃问题

将一个列表(ArrayList等)通过Adapter绑定到ListView上后,由于数据来自网络,在使用过程中需要进行刷新。

当刷新时,程序发生以下错误:

The content of the adapter has changed but listview did not receivie a notification

后发现并不是在其他线程中更改了适配器,而是对数据源的list进行了clear,相当于对数据源进行了修改,其结果类似于add,remove方法,都会引发该错误。

正确的做法是,只要对数据源的列表进行了修改,就应该立刻调用适配器的notifyDataSetChanged方法进行通知。

而如果只想利用数据源干别的事,则需要撤销对listview的绑定,或者重新建一个数据源的副本列表进行操作。总之,在数据源(在本例中就是ArrayList)被绑定的时候,不要轻易的操作它,除非界面更新需要。

 

 

 

 

 

 

posted on 2012-04-26 11:35  王焘  阅读(2194)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3