gpt4 book ai didi

android - 如何解决这个问题“适配器的内容已经改变但ListView没有收到通知”?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:31 27 4
gpt4 key购买 nike

11-27 13:24:08.203: ERROR/AndroidRuntime(556): Uncaught handler: thread main exiting due to uncaught exception
11-27 13:24:08.628: ERROR/AndroidRuntime(556): 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. [in ListView(2131165233, class android.widget.ListView) with Adapter(class com.bluepal.android.iConcierge.CustomAdapter)]
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.ListView.layoutChildren(ListView.java:1432)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.AbsListView.onLayout(AbsListView.java:1113)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.View.layout(View.java:6830)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1108)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.TableRow.onLayout(TableRow.java:121)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.View.layout(View.java:6830)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.TableLayout.onLayout(TableLayout.java:437)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.View.layout(View.java:6830)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.View.layout(View.java:6830)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.View.layout(View.java:6830)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.View.layout(View.java:6830)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.View.layout(View.java:6830)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.ViewRoot.performTraversals(ViewRoot.java:996)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.os.Handler.dispatchMessage(Handler.java:99)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.os.Looper.loop(Looper.java:123)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at android.app.ActivityThread.main(ActivityThread.java:4363)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at java.lang.reflect.Method.invokeNative(Native Method)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at java.lang.reflect.Method.invoke(Method.java:521)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
11-27 13:24:08.628: ERROR/AndroidRuntime(556): at dalvik.system.NativeStart.main(Native Method)

最佳答案

由于我仍然无法发表评论,所以我会把它作为答案,尽管它现在可能会解决您的问题。

我在 ListView 中显示在异步线程中下载的图像时遇到了同样的问题,当点击一个项目(并通过打开其他 Activity )并立即按下后退时,它发生了同样的问题,从而返回到 ListActivity .

所以我(显然)解决这个问题的方法是在停止 Activity 时隐藏列表并在返回时再次显示列表。

@Override
protected void onStop() {
super.onStop();
getListView().setVisibility(View.GONE);
}

@Override
protected void onRestart() {
super.onRestart();
getListView().setVisibility(View.VISIBLE);
}

很简单吧?

希望对你有帮助。

关于android - 如何解决这个问题“适配器的内容已经改变但ListView没有收到通知”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4290806/

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