【问题标题】:How can I reference a cursor如何引用游标
【发布时间】:2015-06-17 18:08:01
【问题描述】:

我希望在我的应用程序中使用 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


     }

    }

任何想法如何做到这一点

【问题讨论】:

  • 你可以根据需要保存一个引用,并遍历它以使用它的数据,不需要使用 cursoradapter,你有什么问题?
  • @ILovemyPoncho 如果可以,请帮我提供如何保存光标引用的代码

标签: android simplecursoradapter android-cursoradapter android-cursorloader


【解决方案1】:

你可以只创建类成员:

private Cursor mCursor;

...

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

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

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

HERE 你可以看到迭代游标的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    相关资源
    最近更新 更多