【问题标题】:Android IllegalStateException: The content of the adapter has changed but ListView did not receive a noAndroid IllegalStateException:适配器的内容已更改但 ListView 没有收到 no
【发布时间】:2011-07-07 15:02:27
【问题描述】:

OK 会尽量保持简短(ish)。我已经用谷歌搜索了这个,并对我的 Android 应用程序进行了大量更改,但没有解决这个问题。我不是菜鸟,20 多年的编程经验。

这是我的场景:

标签主机,3 个标签 第一个选项卡有一个 viewflipper,它在三个不同的列表中显示一个列表视图。

我正在为 ArrayList 中的每个列表更新一个 ArrayAdapter,当我更新 ArrayList 时,我正在调用 notifyDataSetChanged。我还隐藏和显示 ListView 作为先前建议的解决方法。

但是... 我时不时地得到可怕的 Force Close with

java.lang.IllegalStateException:适配器的内容发生了变化但ListView没有收到通知

我正在一处更新 UI 线程上的适配器。我已经在各处添加了日志记录。我很高兴分享日志/代码,我的血液,来解决这个问题。

我的想法不多了,头发也掉光了。

有什么想法/建议???

如果你想看到我的应用在市场上搜索 PodPlayer。我只是想让这该死的东西稳定。

提前谢谢

【问题讨论】:

    标签: android exception listview


    【解决方案1】:
    Better way is to update ArrayAdapter by using `adapter.add()` method.
    

    如果使用此方法,则无需显式调用notifydataSetChanged() 方法。 add() 方法会解决这个问题

    【讨论】:

    • ok,做出了改变,应用仍然可以运行,现在让我们看看它是否稳定。
    • 没有用,这里是崩溃报告 java.lang.IllegalStateException: The content of the adapter has changed but ListView没有收到通知。 ... [in ListView(2131296280, class android.widget.ListView) with Adapter(class net.msc.PODPlayer.tabLibrary$AlbumArrAdapter)] ...我可以看到的是在 tabHost onResume 之后,tabPlayer onResume 等不是被调用。我正在控制适配器的更新,任何帮助 PLZ。气死我了
    【解决方案2】:

    问题可能出在标签上,即使现在我也遇到了,我没有带有标签的应用程序......

    【讨论】:

    • 我想我可能已经用另一个帖子解决了这个问题,只有时间会证明一切。见link
    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 2011-09-22
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多