文档章节

listView adapter 的java.lang.IllegalStateException

Jonson
 Jonson
发布于 2016/05/16 17:56
字数 179
阅读 33
收藏 0

java.lang.IllegalStateException: 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. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(16908298, class qiso.czc.customview.czc_version10.PullToRefreshListView$InternalListViewSDK9) with Adapter(class android.widget.HeaderViewListAdapter)]

因为我在getCount里面定义了 goodeses.clear 搞到listView一下子访问的getCount出现了数目不一致出错.  百度上查了也说Adapter数据更新后,没有及时使用notifyDataSetChanged()方法通知UI,导致出现数据不一致而报错

 


    @Override
    public int getCount() {
        if(dataList == null || dataList.isEmpty()) {
            goodses.clear();
            return 0;
        }



        for (CollectionGoods collectionGoods : dataList){
            if(collectionGoods.goods!=null)
            goodses.add(collectionGoods.goods);
        }


        return goodses.size();
    }

 

换成 以下这样就没问题了

 if(dataList == null || dataList.isEmpty()) {
           
            return 0;
        }


        goodses.clear();
        for (CollectionGoods collectionGoods : dataList){
            if(collectionGoods.goods!=null)
            goodses.add(collectionGoods.goods);
        }


        return goodses.size();

 

 

© 著作权归作者所有

共有 人打赏支持
Jonson
粉丝 21
博文 131
码字总数 17942
作品 0
肇庆
解决listview出现线程更新错误问题

java.lang.IllegalStateException: 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......

MrLovelyCbb
2011/12/09
0
1
《每日一剂》适配器刷新报错adapter.notifyDataSetChanged()解决

在使用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 ......

王先森oO
05/29
0
0
ListView setAdapter has already been called 异常

本文参考:http://blog.csdn.net/androiddevelop/article/details/8474939 异常提示:Java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been ca......

qq_32059827
2017/07/12
0
0
自己做项目中遇到的一些常见问题及解决方法

1) 数据来自于服务器和数据库, 可能出现FC问题 日志: java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sur......

胡文城
2014/05/10
0
0
listview点击后退出程序,请问该如何解决!

05-16 15:36:53.518 3510-3510/org.opensource.code.today E/AndroidRuntime: FATAL EXCEPTION: main java.lang.IllegalStateException: The content of the adapter has changed but ListVi......

极客开源灬紫易风语
2016/05/16
111
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
今天
156
6
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
今天
1
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
10
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部