1
@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();

};

I am getting the following exception...

05-02 12:34:16.423: E/AndroidRuntime(12814): FATAL EXCEPTION: main 05-02 12:34:16.423: E/AndroidRuntime(12814): 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(2131034225, class com.greenway.primemobile.common.SectionedListView) with Adapter(class android.widget.HeaderViewListAdapter)] 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.widget.ListView.layoutChildren(ListView.java:1544) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4042) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.view.Choreographer.doCallbacks(Choreographer.java:562) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.view.Choreographer.doFrame(Choreographer.java:531) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.os.Handler.handleCallback(Handler.java:725) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.os.Handler.dispatchMessage(Handler.java:92) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.os.Looper.loop(Looper.java:137) 05-02 12:34:16.423: E/AndroidRuntime(12814): at android.app.ActivityThread.main(ActivityThread.java:5041) 05-02 12:34:16.423: E/AndroidRuntime(12814): at java.lang.reflect.Method.invokeNative(Native Method) 05-02 12:34:16.423: E/AndroidRuntime(12814): at java.lang.reflect.Method.invoke(Method.java:511) 05-02 12:34:16.423: E/AndroidRuntime(12814): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 05-02 12:34:16.423: E/AndroidRuntime(12814): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 05-02 12:34:16.423: E/AndroidRuntime(12814): at dalvik.system.NativeStart.main(Native Method)

4

3 回答 3

2

我知道它的回复晚了....但我最近才收到这个错误....我正在使用android-amazing-listview。我得到同样的错误结束

(class android.widget.HeaderViewListAdapter)]).

对我有用的解决方案是->

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

于 2014-02-25T12:16:10.500 回答
2

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

于 2013-05-02T08:10:16.937 回答
0

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

runOnUiThread(new Runnable() {

public void run() 
{
    //Update UI here                        
}
});
于 2013-05-02T08:12:28.737 回答