First a short overview of my code, i hope its understandable:
ToDoElement
with a few variables.You should call expListAdapter.notifyDataSetInvalidated()
expListAdapter.notifyDataSetChanged()
will just update your views for the new values for each items (no change in any of the elements)
i.e it will again call your getChildView
and getGroupView
for each item.
You need to add a DeleteMethod
of some sort to the Adapter
and remove the item from the Adapter
manually, not only remove it from the List
.
Each time you refresh the the views using notifyDataSetChanged()
the Adapter
will call the loop around the List
. Your List
in the Adapter
gets a null value due to the changes you made.
Call super in your registerDataSetObserver meke notifyDataSetChanged() working well.
@Override
public void registerDataSetObserver(DataSetObserver observer) {
super.registerDataSetObserver(observer);
}