下面这个异常导致的原因可能为:用子线程更新的UI控件的值,比如:在一个线程中执行了Toast.makeText(this,"richhouse",5000);
UI控件画面的重绘(更新)是由主线程负责的,如果在子线程中更新UI控件的值,更新后的值不会重绘到屏幕上,一定要在主线程里更新UI控件的值,这样才能在屏幕上显示出来,不能在子线程中更新UI控件的值。
CRASH: com.richhouse.nfccenter (pid 2719)
// Short Msg: java.lang.IllegalStateException
// Long Msg: 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(2131230759, class android.widget.ListView) with Adapter(class android.widget.HeaderViewListAdapter)]
// Build Label: HTC/m7cdwg/m7cdwg:4.1.2/JZO54K/eng.buildteam.20130530.092435:userdebug/test-keys
// Build Changelist: eng.buildteam.20130530.092435
// Build Time: 1369877182000
// 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(2131230759, class android.widget.ListView) with Adapter(class android.widget.HeaderViewListAdapter)]
// at android.widget.ListView.layoutChildren(ListView.java:1734)
// at android.widget.ListView.setSelectionInt(ListView.java:2157)
// at android.widget.AbsListView.resurrectSelection(AbsListView.java:5608)
// at android.widget.AbsListView.resurrectSelectionIfNeeded(AbsListView.java:5497)
// at android.widget.ListView.commonKey(ListView.java:2319)
// at android.widget.ListView.onKeyDown(ListView.java:2243)
// at android.view.KeyEvent.dispatch(KeyEvent.java:2719)
// at android.view.View.dispatchKeyEvent(View.java:7147)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1365)
// at android.widget.ListView.dispatchKeyEvent(ListView.java:2228)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.support.v4.view.ViewPager.dispatchKeyEvent(Unknown Source)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:2013)
// at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1490)
// at android.app.Activity.dispatchKeyEvent(Activity.java:2414)
// at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1940)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.widget.TabHost.dispatchKeyEvent(TabHost.java:298)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1369)
// at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:2013)
// at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1490)
// at android.app.Activity.dispatchKeyEvent(Activity.java:2414)
// at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1940)
// at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:4093)
// at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:4063)
// at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3232)
// at android.os.Handler.dispatchMessage(Handler.java:99)
// at android.os.Looper.loop(Looper.java:155)
// at android.app.ActivityThread.main(ActivityThread.java:5536)
// at java.lang.reflect.Method.invokeNative(Native Method)
// at java.lang.reflect.Method.invoke(Method.java:511)
// at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1074)
// at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:841)
// at dalvik.system.NativeStart.main(Native Method)