Instead of extending, BaseAdapter supports registering a DataSetObserver where you can listen for the onChanged event.
The notifyDataSetChanged method will cause this event to fire.
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
public void onChanged() {
// ...
}
});
...
adapter.notifyDataSetChanged();