使用Sectioned adapter即时通讯。每个部分都有一个“subAdapter”。当在列表视图中更新适配器时崩溃
当我删除所有部分并添加新部分时,出现问题。如果新的金额>旧金额的部分。
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): java.lang.ArrayIndexOutOfBoundsException
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:5283)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4092)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.widget.AbsListView.onTouchEvent(AbsListView.java:2523)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.widget.ListView.onTouchEvent(ListView.java:3733)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.view.View.dispatchTouchEvent(View.java:3885)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
10-27 08:08:33.789: ERROR/AndroidRuntime(21550): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
从我读过的这是一个getViewTypeCount的问题。我猜测,当我更新适配器并调用adapter.notifyDataSetChanged()时,该方法未被调用;
如果我将适配器的新实例设置为listAdapter,则不会发生此问题。
我该如何解决这个问题?我可以强制活动回忆getViewTypeCount吗?
请添加代码从您的适配器。 –