Hi,
I have an adapter class composed of several child adapters. Looks like
this:
public class TestAdapter extends BaseAdapter {
ArrayLIst<Adapter> mChildAdapters;
public void addAdapterChild(Adapter adapter) {
mChildAdapters.add(adapter);
}
}
it works ok, running into a problem though if one of the child
adapters calls notifyDataSetChanged(). It looks like the notification
is never brought upwards to TestAdapter. For example, my child adapter
has a thumbnail image in each row, and I download them asynchronously.
When the image download is complete, the adapter will call
notifyDataSetChanged() so that the view is refreshed and the thumbnail
is shown. Works fine stand-alone.
When in this parent adapter, no refresh occurs. I can do this to fix
it, but am worried about an infinite cycle of updates:
public void addAdapterChild(Adapter adapter) {
mChildAdapters.add(adapter);
adapter.registerDataSetObserver(mDataSetObserver);
}
private DataSetObserver mDataSetObserver = new DataSetObserver() {
@Override
public void onChanged() {
notifyDataSetChanged();
}
};
so as long as this parent adapter is the one that calls
notifyDataSetChanged(), the refresh occurs and the thumbnails are
shown.
Thanks,
Mark
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en