gpt4 book ai didi

java - Android:java.lang.IllegalStateException:适配器的内容已更改但ListView未收到通知

转载 作者:行者123 更新时间:2023-12-01 11:43:22 24 4
gpt4 key购买 nike

异常建议我调用notifyDataSetChanged(),但我已经在 onPostExecute 方法上调用了该方法,如您所见:

Constants.newsDownloaded = true;
TempStorage.downloadedNews = this.items;
this.progress.setVisibility(View.INVISIBLE);
this.downloadMore.setVisibility(View.VISIBLE);
adapter = new NewsListAdapter(context,
inflater, this.items);

if (index <= 26){
listView.setSelection(0);
} else{
listView.setSelection(TempStorage.firstAddedIndex);
}

listView.setAdapter(adapter);
adapter.notifyDataSetChanged();

如您所见,每次调用都会重新创建适配器。我仅在 Nexus 5 上遇到此问题,在其他设备上工作正常。

这段代码有什么问题?

感谢各位的帮助!

最佳答案

我认为你应该删除notifyDataSetChanged行。无论如何,您都在创建一个新的适配器实例,为什么要在之后立即通知它呢?它具有正确的更新数据,因为您有一个新实例。

我曾经在类似的情况下在更新我在适配器中查询的数据时遇到相同的崩溃。通过在 onPostExecute 中创建一个新的适配器实例,我摆脱了崩溃。

关于java - Android:java.lang.IllegalStateException:适配器的内容已更改但ListView未收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29328461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com