0

我有一种方法可以显示数据库中的注释标题和日期。但是方法startManagingCursor已被弃用。有什么方法可以使用 cursor loader 重写它吗?

private void fillData() {
    // Get all of the notes from the database and create the item list
    Cursor notesCursor = mDbHelper.fetchAllNotes();
    startManagingCursor(notesCursor);


    String[] from = new String[] { NotesDbAdapter.KEY_TITLE ,NotesDbAdapter.KEY_DATE};
    int[] to = new int[] { R.id.text1 ,R.id.date_row};

    // Now create an array adapter and set it to display using our row
    SimpleCursorAdapter notes =
        new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor, from, to);
    setListAdapter(notes);
}
4

1 回答 1

0

常规的 CursorLoader 基于 Android 的 ContentProvider - 所以如果你不使用它,你将不得不编写自己的 Loader。这是您可以做到的一种方法:

https://github.com/commonsguy/cwac-loaderex/blob/master/src/com/commonsware/cwac/loaderex/acl/AbstractCursorLoader.java

从那时起,它非常简单。您的活动/片段可以是 LoaderManager 的回调 - 它需要实现 LoaderCallbacks 接口。

不要运行查询,而是使用 getLoaderManager().initLoader(this, null, LOADER_ID) 来初始化数据加载。这是一个例子:http: //developer.android.com/reference/android/app/LoaderManager.html

现在,数据将在 onLoadFinished() 回调中。如果你做的一切都正确,你会得到你的光标在这里。现在只需使用光标填充您的列表。

于 2013-09-08T11:21:31.360 回答