2013-02-11 22 views
11

Sto usando il deprecato SimpleCursorAdapter per visualizzare i dati da Cursor a ListView. Ho aggiunto l'argomento aggiuntivo 0, che rimuove l'avviso preapprovato, ma voglio usare un modo migliore per visualizzare i dati. Ho letto qualcosa su Loader, ma non so come implementarlo. Quale sarebbe un'alternativa migliore al codice qui sotto? Come tradurre questo codice in Loader?Alternativa SimpleCursorAdapter

Cursor c = mDbHelper.getAllRecords(); 
    startManagingCursor(c); //this is also deprecated 

    String[] from = new String[] { "Name" }; 
    int[] to = new int[] { R.id.text1 }; 

    SimpleCursorAdapter names = 
     new SimpleCursorAdapter(this, R.layout.names_row, c, from, to, 0); 
    setListAdapter(names); 
+0

"ma voglio usare un modo migliore per visualizzare i dati." Un caricatore legge solo i dati dal tuo database su un altro thread, non cambia il modo in cui i dati vengono visualizzati. Dovresti cambiare 'names_row.xml' per cambiare il modo in cui viene visualizzato. – Sam

+0

Domanda modificata. – domen

+1

Passare ai caricatori non è cosa da poco usando solo le classi Android. È necessario prima creare un ContentProvider e poi implementare il framework Loader. Tuttavia [CommonsWare] (http://stackoverflow.com/u/115145/) ha scritto [una libreria Loader] (https://github.com/commonsguy/cwac-loaderex) che non richiede ContentProvider. Ecco [un tutorial] (http://www.grokkingandroid.com/using-loaders-in-android/) che copre entrambi gli approcci. – Sam

risposta

6

adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, from, to, 1);

Questo farà la requery automatica. 1 è impostato su true e 0 su false.

Problemi correlati