2012-06-14 6 views
6

tratando de implementar LoaderManager + CursorLoader.SimpleCursorAdapter, cursor de intercambio en nivel de API por debajo de 11

En adaptador método onFinish debe cambiar su cursor

public void onLoadFinished(Loader<Cursor> loader, Cursor data) { 
    // Swap the new cursor in. (The framework will take care of closing the 
    // old cursor once we return.) 
    mAdapter.swapCursor(data); 
    } 

Pero swapCursor está disponible desde el nivel de la API 11.

Entonces, ¿cómo debo cambiar el cursor en la API de Android 10?

Respuesta

0

Si usted sigue la sugerencia de Android Studio para envolver y explicación swapCursor 's que el viejo no estaba cerca del cursor, utilizando android.widget.CursorAdapter, se obtiene:

public void onLoadFinished(Loader<Cursor> loader, Cursor data) { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
     mAdapter.swapCursor(data); 
    } else { 
     Cursor oldCursor = mAdapter.getCursor(); 
     mAdapter.changeCursor(data); 
     oldCursor.close(); 
    } 
} 
Cuestiones relacionadas