In Android is de Adapter slaat een brug tussen de view en het datamodel. U zou de n . kunnen weergeven TextViews in ofwel een ListView of een GridView , en wanneer de gebruiker een notitie toevoegt of verwijdert, wordt eerst de lokale of serverdatabase bijgewerkt. Na voltooiing van de webservice-aanroep en/of de lokale database-update, worden de nieuwe gegevens toegevoegd aan de onderliggende Adapter . De View wordt vervolgens vernieuwd door adapter.notifyDataSetChanged() . aan te roepen . Dit zou de manier zijn om het te doen.
Benaderingen:
- Bij het bijwerken van de lokale
SQLitedatabase, kunt u overwegen eenCursorAdpater. te gebruiken om de gegevens voor deView. te bewaren , omdat het de items in de lokale database direct toewijst aan deView. - Bij gebruik van een
ContentProvider, is het zelfs mogelijk om een CursorAdapter. te combineren met eenLoaderManageren eenCursorLoader:deze worden aangesloten op deActivity/Fragmentlevenscyclus en monitor de onderliggendeContentProvidervoor wijzigingen die automatisch worden gepubliceerd in deViewop een aparte thread. - Het is ook mogelijk om een
Filter. te gebruiken in combinatie met deAdapterom een dynamisch mechanisme te definiëren dat de gegevensinvoer on-the-fly sorteert. Het filteren wordt uitgevoerd door deFilterop een aparte thread, volgens een zoekopdracht die door de gebruiker is ingevoerd, mogelijk in eenAutoCompleteTextView.
Referenties:
- Zie de Een lijst met contactpersonen ophalen zelfstudie. Het voorbeeld hier haalt een set contacten op uit thecontacts
ContentProvidergebaseerd op een dynamische, alfabetische zoekopdracht door de gebruiker. Het maakt gebruik vanCursorAdapter,CursorLoaderenLoaderManagerom de gegevens te controleren en bij te werken, en het geeft de zoekresultaten weer in eenListView. - Zie ook de Android Realtime (Instant) Search met filterklasse voorbeeld, dat laat zien hoe een
Filtermoet worden gebruikt. - Android AutoCompleteTextView met filtering op aangepaste adapter .
- Android AutocompleteTextView met behulp van ArrayAdapter en filter .