2013-05-02 49 views
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(); 

}; 

我收到以下異常...java.lang.IllegalStateException:適配器的內容已更改,但ListView未收到通知。

一十二月五日至2日:34:16.423:E/AndroidRuntime(12814):致命異常:主要 一十二月五日至2日: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):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):atandroid.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:735)android.view.Choreographer.doFrame(Choreographer.java:531)05-02 12:34:16.423:E/AndroidRuntime(12814):at 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 ): 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(原生方法)

+0

請標記我的答案是正確的,如果它幫助...謝謝 – 2014-05-08 10:26:29

回答

2

如果更改適配器中的任何內容喲u需要調用notifyDatasetChanged()的適配器,然後

0

您需要更新runonui線程內的UI像下面

runOnUiThread(new Runnable() { 

public void run() 
{ 
    //Update UI here       
} 
}); 
2

我知道它一晚的答覆....但我剛剛得到這個錯誤最近....我正在使用android-amazing-listview。而我得到同樣的錯誤與我工作

(class android.widget.HeaderViewListAdapter)]). 

解決方案是 - 結束>

我覺得這個問題從這樣一個事實getAdapter被返回AmazingAdapter而不是包裹HeaderListViewAdapter造成計數有時會出現差異。我只是從AmazingListView中刪除了getAdapter方法,並沒有得到例外。

相關問題