Comment mettre à jour un Spinner dynamiquement correctement?

J'ai une toupie avec une coutume adaptateur d'affichage des objets à partir d'une base de données.
Lorsque la liste d'objets changé je créer une nouvelle carte avec la Liste et de l'appliquer sur la touche de navigation. Ensuite, le premier élément est sélectionné, j'ai donc essayé ceci:

//5th item selected
int pos = spinner.getSelectedItemPosition();
spinner.setAdapter(newAdapter);
//0th item selected
spinner.setSelectedItem(pos);
//5th item is selected

Mais le GUI ne montrent toujours le premier élément?

spinner.invalidate() n'a pas aidé.

Est-ce la bonne façon d'atteindre ce que je veux? Je ne pouvais vraiment pas trouver toutes les informations sur ce comportement.

avez-vous essayé l'adaptateur.notifyDataSetChanged();

OriginalL'auteur user376244 | 2012-02-25