java.lang.IndexOutOfBoundsException: Index: 3, Size: 1
at java.util.ArrayList.get(ArrayList.java:411)
at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)
at android.widget.AbsListView.obtainView(AbsListView.java:2371)
at android.widget.ListView.makeAndAddView(ListView.java:1970)
at android.widget.ListView.fillDown(ListView.java:704)
at android.widget.ListView.fillGap(ListView.java:668)
如果不能确定具体报错位置,然后前段又需要改的话 那就严谨一点 无论任何时候去取列表集合里面的数据 判断一些index是否小于集合长度
然后 你说的ui更新了 adapter中的数据源没有更新 那你也不能直接调用tkAdapter.notifyDataSetChanged() 这个方法是当数据源更新的时候 去告诉ListView的adapter需要更新ui的 而不是更新数据源的 所以在此之前先要确定数据源是否更新了 这个取决于你的数据源是如何设置给adapter的 是直接 this.data=data (注:data为数据源集合) 还是this.data=this.data.addAll(newData); 这个意思你懂撒