Il mio libro, "Ciao Android" dà questo come un modo di usare un aiutante db personalizzato, la creazione di un cursore, e quindi la creazione di un adattatore come segue:Modo migliore per Refresh adattatore/ListView su Android
Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
cursor = getData();
showData(cursor);
} finally {
test.close();
}
Con questo tuttavia, ogni volta che ho bisogno di aggiornare il set di dati, devo continuare a eseguire questo blocco di codice (che diventa un po 'difficile all'interno di un onClick() per un pulsante a causa di "questo" non disponibile
È questo il modo migliore per aggiornare il set di dati, o dovrei cercare di rimuovere il .close e rilasciare un adapter.notifyDataSetChanged()? Se faccio questo, a volte ho una forza chiusa come (e non posso ricorda al momento), ma a volte non può eliminare correttamente - penso che questo potrebbe essere dovuto al fatto che il database è attualmente aperto e tenta di aprirsi di nuovo.
Dovremmo anche dichiarare le variabili per Cursori, DatabaseHelpers e Adapter nella Classe (al di fuori di OnCreate) in modo che siano accessibili a tutte le funzioni?
Mi rendo conto che in questa fase si tratta solo di una programmazione scadente, ma sto cercando di ottenere alcune indicazioni sul modo migliore di fare le cose.
Solo un sidenote: Le cose sono un po 'diverso se si utilizzano i fornitori di contenuti e LoaderManager. Vedi: http://stackoverflow.com/a/19657500/1087411 – Anderson