如何引用游标

How can I reference a cursor

我希望在我的应用程序中使用 CursorLoader,但我不想将返回的游标与 SimpleCursorAdapter 一起使用。我只想获取从 onLoadFinished()

返回的光标的引用

这是一些代码

 public class MainActivity extends Activity implements LoaderManager.LoaderCallbacks<Cursor>

    {

    @Override

    public void onCreate(Bundle arg)

    {

    getLoaderManager().initLoader(0, null, this);

    }


 @Override


public Loader<Cursor> onCreateLoader(int id, Bundle args) 

      {

      return new CursorLoader(getActivity(), baseUri,PROJECTION, select, null, COLNAME );


   }

 @Override

public void onLoadFinished(Loader<Cursor> loader, Cursor data) 

    {
    // rather than swap the cursor with SimpleCursorAdapter reference, I wish to return the cursor so I can reference it


     }

    }

知道如何做到这一点

您可以创建 class 成员:

private Cursor mCursor;

...

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    mCursor = data;
}

@Override
public void onLoaderReset(Loader<Cursor> loader) {
    mCursor = null;
}

from de docs: onLoaderReset - 在重置先前创建的加载程序时调用,从而使其数据不可用。此时应用程序应删除它对加载程序数据的所有引用。

并且HERE您可以看到迭代游标的方法。