我一直遇到IndexOutOfBoundsException,但似乎找不出原因。我的listview有一个带有对象列表的适配器,并且基于时间戳删除对象。删除是在getView方法内完成的。一旦删除了一个项目,我就调用notifyDataSetChanged()。
完整的源代码可在github上获得,这里是listview适配器代码的链接:https://github.com/kenneho/run-for-the-bus/blob/master/app/src/main/java/net/kenneho/runnow/adapters/TravelsAdapter.java 这是我一直遇到的堆栈跟踪的开头:
完整的源代码可在github上获得,这里是listview适配器代码的链接:https://github.com/kenneho/run-for-the-bus/blob/master/app/src/main/java/net/kenneho/runnow/adapters/TravelsAdapter.java 这是我一直遇到的堆栈跟踪的开头:
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at android.widget.HeaderViewListAdapter.isEnabled(HeaderViewListAdapter.java:164)
at android.widget.ListView.dispatchDraw(ListView.java:3307)
at android.view.View.draw(View.java:15213)
<snip>
我看到在getView中,position-value的值通常会高达六或七。
有谁能发现这个错误?任何帮助都将不胜感激。
祝好, 肯尼斯
编辑1: * 使用该代码的活动链接:https://github.com/kenneho/run-for-the-bus/blob/master/app/src/main/java/net/kenneho/runnow/InfoActivity.java * 下面是最相关的日志部分:http://pastebin.com/5FtU4EaM