码迷,mamicode.com
首页 > 移动开发 > 详细

Android - Bug:The content of the adapter has changed but ListView did not receive a notification.

时间:2015-01-14 08:30:14      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:mystra   android   refreshablelistfragm   remotedatalist2fragm   bug   

Bug:The content of the adapter has changed but ListView did not receive a notification.


本文地址:http://blog.csdn.net/caroline_wendy


错误日志:
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. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(2131494123, class me.chunyu.ChunyuDoctor.Widget.RefreshableListView) with Adapter(class android.widget.HeaderViewListAdapter)]
     at android.widget.ListView.layoutChildren(ListView.java:1566)
     at android.widget.AbsListView.onTouchModeChanged(AbsListView.java:3580)
     at android.view.ViewTreeObserver.dispatchOnTouchModeChanged(ViewTreeObserver.java:879)
     at android.view.ViewRootImpl.ensureTouchModeLocally(ViewRootImpl.java:3543)
     at android.view.ViewRootImpl.access$400(ViewRootImpl.java:111)
     at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3274)
     at android.os.Handler.dispatchMessage(Handler.java:102)
     at android.os.Looper.loop(Looper.java:135)
     at android.app.ActivityThread.main(ActivityThread.java:5505)
     at java.lang.reflect.Method.invoke(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:372)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:948)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:743)

解决方案:
替换:RefreshableListFragment -> RemoteDataList2Fragment
包括:
DocListByExpertiseActivity、AddRegDocHomeActivity、FamilyDocMsgListActivity、
ThankDoctorActivity、AddRegListActivity、FamilyDocHomeActivity、FragmentWraperActivity2;

位置:
刷新条滚动停止时,才会更新ListView的数据,进行同步。
                    @Override
                    public void onScrollStateChanged(AbsListView absListView, int i) {
                        mScrollStatus = i;
                        if (mScrollStatus == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
                            getListView().setOnScrollListener(getDefaultScrollListener());
                            mHandler.post(new Runnable() {
                                @Override
                                public void run() {
                                    refreshListView(mLoadingMore, (List<?>)data.getData());
                                }
                            });
                        }
                    }


即可。



Android - Bug:The content of the adapter has changed but ListView did not receive a notification.

标签:mystra   android   refreshablelistfragm   remotedatalist2fragm   bug   

原文地址:http://blog.csdn.net/caroline_wendy/article/details/42704939

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!