La meilleure Façon de Rafraîchir Adaptateur/ListView sur Android

Mon livre, "Bonjour Android" donne cela comme un moyen de l'aide personnalisée db helper, l'établissement d'un curseur, puis la configuration d'un adaptateur comme suit:

Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
        cursor = getData();
        showData(cursor);
} finally {
        test.close();
}

Avec cela, cependant, chaque fois que j'ai besoin de rafraîchir l'ensemble de données, j'ai besoin de garder l'exécution de ce bloc de code (qui est un peu difficile à l'intérieur d'un onClick() pour un bouton en raison de "ce" n'est pas disponible.

Est-ce la meilleure façon de rafraîchir l'ensemble de données, ou dois-je regarder pour supprimer les .fermer et d'émettre une carte.notifyDataSetChanged()? Si je fais cela, j'ai parfois de la force de près (et je ne me souviens pas en ce moment), mais parfois il ne peut pas Supprimer correctement - je pense que cela peut-être parce que la base de données est actuellement ouvert et il essaie de l'ouvrir à nouveau.

Doit-on être de déclarer les variables pour les Curseurs, DatabaseHelpers et de l'Adaptateur dans la Classe (en dehors de la OnCreate) afin qu'ils soient accessibles à toutes les fonctions?

Je sais que c'est juste de la mauvaise programmation, à ce stade, mais Im essayant d'obtenir quelques conseils quant à la meilleure façon de faire les choses.

InformationsquelleAutor Simon | 2010-11-16