W Androidzie Adapter działa jako pomost między widokiem a modelem danych. Możesz wyświetlić n TextViews w ListView lub GridView , a gdy użytkownik doda lub usunie notatkę, lokalna lub serwerowa baza danych jest najpierw aktualizowana. Po zakończeniu wywołania usługi sieciowej i/lub aktualizacji lokalnej bazy danych, nowe dane są dodawane do bazowego Adapter . View jest następnie odświeżana przez wywołanie adapter.notifyDataSetChanged() . To byłby sposób na zrobienie tego.
Podejścia:
- Jeśli aktualizujesz lokalny
SQLitebazy danych, możesz rozważyć użycieCursorAdpaterdo przechowywania danych dlaView, ponieważ bezpośrednio mapuje wpisy w lokalnej bazie danych doView. - Jeśli korzystasz z
ContentProvider, można nawet połączyćCursorAdapterzLoaderManageriCursorLoader:te podłącza się doActivity/Fragmentcykl życia i monitoruj podstawowyContentProviderdla zmian, które są publikowane automatycznie wVieww osobnym wątku. - Możliwe jest również użycie
Filterw połączeniu zAdapteraby zdefiniować dynamiczny mechanizm, który sortuje wpisy danych w locie. Filtrowanie jest wykonywane przezFilterw osobnym wątku, zgodnie z zapytaniem wprowadzonym przez użytkownika, być może wAutoCompleteTextView.
Referencje:
- Zobacz Pobieranie listy kontaktów instruktaż. Przykład tutaj pobiera zestaw kontaktów z kontaktów
ContentProvideroparte na dynamicznym, alfabetycznym wyszukiwaniu przez użytkownika. WykorzystujeCursorAdapter,CursorLoaderiLoaderManagermonitorować i aktualizować dane, a wyniki wyszukiwania wyświetla wListView. - Zobacz także Wyszukiwanie w czasie rzeczywistym (natychmiastowe) Androida z klasą filtra przykład, który pokazuje, jak
Filterma być używany. - Android AutoCompleteTextView z filtrowaniem adaptera niestandardowego .
- Android AutocompleteTextView za pomocą ArrayAdapter i Filter .