0

Я хочу использовать 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 


    } 

    } 

Любые идеи, как это можно сделать

+1

вы можете сохранить ссылку, если хотите, и перебрать ее для использования своих данных, нет необходимости использовать курсорный адаптер, в чем проблема, которая у вас есть? – ILovemyPoncho

+0

@ILovemyPoncho Если вы можете понравиться, помогите мне с кодами, как сохранить ссылку курсора –

ответ

2

Вы можете просто создать элемент класса:

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 вы можете увидеть способы перебора курсора.