调用notifyDataSetChanged不会触发SimpleCursorAdapter的onContentChanged事件

时间:2010-05-18 10:26:08

标签: android events cursor adapter

我有这个场景

onResume of a activity:

@Override
    protected void onResume() {
        if (adapter1!=null) adapter1.notifyDataSetChanged();
        if (adapter2!=null) adapter2.notifyDataSetChanged();
        if (adapter3!=null) adapter3.notifyDataSetChanged();
        super.onResume();
    }

适配器已被定义为:

public class ListCursorAdapter extends SimpleCursorAdapter {

   Cursor c;
    /* (non-Javadoc)
     * @see android.widget.CursorAdapter#onContentChanged()
     */
    @Override
    protected void onContentChanged() {
        // this is not called
        if (c!=null) c.requery();
        super.onContentChanged();
    }
}

虽然onResume和对适配器的调用已发出,但未触发onContentChanged事件。有什么问题?

1 个答案:

答案 0 :(得分:1)

当光标上的ContentObserver收到更改通知时,将调用onContentChanged方法。