Sous Android, l'Adapter
agit comme un pont entre la vue et le modèle de données. Vous pouvez afficher le n TextViews
soit dans un ListView
ou un GridView
, et lorsque l'utilisateur ajoute ou supprime une note, la base de données locale ou du serveur est d'abord mise à jour. À la fin de l'appel du service Web et/ou de la mise à jour de la base de données locale, les nouvelles données sont ajoutées à l'Adapter
sous-jacent. . La View
est ensuite rafraîchi en appelant adapter.notifyDataSetChanged()
. Ce serait la façon de le faire.
Approches :
- Si vous mettez à jour le
SQLite
local base de données, vous pouvez envisager d'utiliser unCursorAdpater
pour conserver les données de laView
, car il mappe directement les entrées de la base de données locale à laView
. - Si vous utilisez un
ContentProvider
, il est même possible de combiner unCursorAdpater
avec unLoaderManager
et unCursorLoader
:ceux-ci se connectent à l'Activity
/Fragment
cycle de vie et surveiller leContentProvider
sous-jacent pour les modifications publiées automatiquement dans laView
sur un fil séparé. - Il est également possible d'utiliser un
Filter
en conjonction avec l'Adapter
pour définir un mécanisme dynamique qui trie les entrées de données à la volée. Le filtrage est effectué par leFilter
sur un thread séparé, selon une requête saisie par l'utilisateur, éventuellement dans uneAutoCompleteTextView
.
Références :
- Voir Récupérer une liste de contacts Didacticiel. L'exemple ici récupère un ensemble de contacts à partir des contacts
ContentProvider
sur la base d'une recherche dynamique et alphabétique de l'utilisateur. Il utiliseCursorAdpater
,CursorLoader
etLoaderManager
pour surveiller et mettre à jour les données, et il affiche les résultats de la recherche dans uneListView
. - Voir aussi la Recherche Android en temps réel (instantanée) avec classe de filtre exemple, qui montre comment un
Filter
doit être utilisé. - Android AutoCompleteTextView avec filtrage d'adaptateur personnalisé .
- Android AutocompleteTextView utilisant ArrayAdapter et Filter .