首先简要概述一下我的代码,我希望它是可以理解的:
ToDoElement
带有一些变量的类.ToDoListe
来管理ToDoElement
ArrayList中的s.ToDoListe
包含从ArrayList中deleteElement()
删除a 的方法ToDoElement
liste_activity
我创建了一个对象,ToDoListe
并用一些对象填充它ToDoElement
.expListAdapter
.ToDoElement
s 的String变量来创建Groupviews和Childviews .deleteElement()
.好的,现在这里是我的问题:
我使用的方法后deleteElement()
我想更新我的List,因为ArrayList的数据已ToDoListe
更改.所以我打电话expListAdapter.notifyDataSetChanged()
.
但随后我的整个活动崩溃,原因是:" IndexOutOfBoundException:索引4无效,大小为4 "(ToDoELement
我的列表中有5个项目,在删除其中一个之前).
我知道这是因为我的一个for循环,但我不知道为什么.
代码片段:
创建ToDoListe的新对象:
private static ToDoListe Liste = new ToDoListe();
Run Code Online (Sandbox Code Playgroud)
class ToDoListe(只是重要的方法):
public class ToDoListe {
private ArrayList<ToDoElement> ToDoListe;
public ToDoListe()
{
ToDoListe = new ArrayList<ToDoElement>();
}
public void newElement(ToDoElement …
Run Code Online (Sandbox Code Playgroud)