Android java.lang.IllegalStateException:适配器的内容已更改,但ListView未收到通知。 @覆盖 受保护的void onPostExecute(Pairresult){ Log.d(“XXX”,“Result:+Result.second”); 如果(isCancelled()) 回来 如果(结果秒>0) 下一页(); notifyDataSetChanged(); 如果(结果第一) notifyMayHaveMorePages(); 其他的 notifyNoMorePages(); };

Android java.lang.IllegalStateException:适配器的内容已更改,但ListView未收到通知。 @覆盖 受保护的void onPostExecute(Pairresult){ Log.d(“XXX”,“Result:+Result.second”); 如果(isCancelled()) 回来 如果(结果秒>0) 下一页(); notifyDataSetChanged(); 如果(结果第一) notifyMayHaveMorePages(); 其他的 notifyNoMorePages(); };,android,Android,我得到以下异常 05-02 12:34:16.423:E/AndroidRuntime(12814):致命异常:主 05-02 12:34:16.423:E/AndroidRuntime(12814): java.lang.IllegalStateException:适配器的内容已更改 已更改,但ListView未收到通知。确保 适配器的内容不是从后台线程修改的,而是 仅从UI线程。[在ListView中(2131034225,类 com.greenway.primemobile.common.

我得到以下异常

05-02 12:34:16.423:E/AndroidRuntime(12814):致命异常:主 05-02 12:34:16.423:E/AndroidRuntime(12814): java.lang.IllegalStateException:适配器的内容已更改 已更改,但ListView未收到通知。确保 适配器的内容不是从后台线程修改的,而是 仅从UI线程。[在ListView中(2131034225,类 com.greenway.primemobile.common.SectionedListView)和适配器(类 android.widget.HeaderViewListAdapter)]05-02 12:34:16.423: E/AndroidRuntime(12814):在 android.widget.ListView.layoutChildren(ListView.java:1544)05-02 12:34:16.423:E/AndroidRuntime(12814):在 android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4042) 05-02 12:34:16.423:E/AndroidRuntime(12814):在 Choreographer$CallbackRecord.run(Choreographer.java:749) 05-02 12:34:16.423:E/AndroidRuntime(12814):在 android.view.Choreographer.doCallbacks(Choreographer.java:562)05-02 12:34:16.423:E/AndroidRuntime(12814):在 android.view.Choreographer.doFrame(Choreographer.java:531)05-02 12:34:16.423:E/AndroidRuntime(12814):在 Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 05-02 12:34:16.423:E/AndroidRuntime(12814):在 android.os.Handler.handleCallback(Handler.java:725)05-02 12:34:16.423:E/AndroidRuntime(12814):在 android.os.Handler.dispatchMessage(Handler.java:92)05-02 12:34:16.423:E/AndroidRuntime(12814):在 android.os.Looper.loop(Looper.java:137)05-02 12:34:16.423: E/AndroidRuntime(12814):在 android.app.ActivityThread.main(ActivityThread.java:5041)05-02 12:34:16.423:E/AndroidRuntime(12814):在 java.lang.reflect.Method.Invokenactive(本机方法)05-02 12:34:16.423:E/AndroidRuntime(12814):在 java.lang.reflect.Method.invoke(Method.java:511)05-02 12:34:16.423: E/AndroidRuntime(12814):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 05-02 12:34:16.423:E/AndroidRuntime(12814):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)05-02 12:34:16.423:E/AndroidRuntime(12814):在 dalvik.system.NativeStart.main(本机方法)


如果更改适配器中的任何内容,则需要为适配器调用
notifyDatasetChanged()
,然后

如果更改适配器中的任何内容,则需要为适配器调用
notifyDatasetChanged()
,然后需要更新runonui线程中的UI,如下所示

@Override
protected void onPostExecute(Pair < Boolean, Integer > result) {
    Log.d("XXX", "Result : " + result.second);
    if (isCancelled())
        return;

    if (result.second > 0)
        nextPage();
    notifyDataSetChanged();

    if (result.first)
        notifyMayHaveMorePages();
    else
        notifyNoMorePages();

};

您需要更新runonui线程内的UI,如下所示

@Override
protected void onPostExecute(Pair < Boolean, Integer > result) {
    Log.d("XXX", "Result : " + result.second);
    if (isCancelled())
        return;

    if (result.second > 0)
        nextPage();
    notifyDataSetChanged();

    if (result.first)
        notifyMayHaveMorePages();
    else
        notifyNoMorePages();

};

我知道这是一个迟到的答复…但我最近刚刚收到这个错误。。。。我在用。我得到了同样的错误,结果是

runOnUiThread(new Runnable() {

public void run() 
{
    //Update UI here                        
}
});
适合我的解决方案是->


我认为这个问题源于
getAdapter
返回的是
AmazingAdapter
,而不是包装好的
HeaderListViewAdapter
,有时会导致计数差异。我只是从AmazingListView中删除了getAdapter方法,此后就没有出现异常。

我知道这是一个很晚的回复…但我最近刚刚收到这个错误。。。。我在用。我得到了同样的错误,结果是

runOnUiThread(new Runnable() {

public void run() 
{
    //Update UI here                        
}
});
适合我的解决方案是->


我认为这个问题源于
getAdapter
返回的是
AmazingAdapter
,而不是包装好的
HeaderListViewAdapter
,有时会导致计数差异。我只是从AmazingListView中删除了getAdapter方法,此后没有出现异常。

如果有帮助,请将我的答案标记为正确…谢谢如果有帮助,请将我的答案标记为正确…谢谢