异常:java.lang.indexoutofboundsexception:incalid index 10,size is 1 at
java.util.ArrayList.throwIndexOutOfBoundsExcepton(ArrayList.java:251)at
java.util.ArrayList.get..................widght.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:255)
最近做项目时碰到了这个异常,相信一定不止我一个人碰到过,莫慌,按照我的思路,解决办法很简单。
首先,Listview在滚动的时候表示它已经通过获取了adapter的getCount() 获得了list的长度,可能是10,也可能更大,回调用getView(),如何这个时候进行刷新动作,将数据clear()掉,就会报java.lang.indexoutofboundsexception:incalid index 10,size is 1的错误,为什么还有size is 1呢?因为我们使用的是HeaderViewListAdapter ,这个1 就是那个HeaderViewListAdapter 的header。
针对问题出现的原因,解决办法:listview滚动时将刷新按钮设置为不可点击,如下:
public void refreshing(){
listData.clear();
shuaxin_button.setVisibility(View.GONE);
loadData();
}
根本思路就是当listview在滚动时不要进行刷新动作就可以了。
网友评论