ListView 有着比较多的bug的存在。
比如 经常出现 indexOutOfBoundsException: Invalid index 1, size is 1;
总结的经验是:
当存放数据的list发生变化后,listview任然发生变化(比如Listview滚动),会调用adapter的getView,但这时存放数据的list可以已经被制空了,当然会报错。
解决方法:要么 当listview不再动的时候再操作list。
要么 list发生变化时,通知 adapter.notifyDataSetChanged()。
个人观点。