С приложением, в котором я работаю, у меня возникла следующая проблема. У меня есть список, который должен отображать данные из таблицы базы данных. Есть два сценария, которые могли бы произойти:реализация адаптера listview
- Сценарий один - таблица базы данных заполняется динамически и ListView также должны динамически отображать информацию таблицы например расти в зависимости от размера таблицы.
- Сценарий два - таблица была уже заполнена, а ListView должен просто отображать содержимое
Таким образом, проблема в том, как выполнить это поведение с помощью ListView и ListAdapter.
Пока у меня есть решение для каждого сценария, но нет для двух вместе.
- Сценарий один - используйте AsyncTask и ArrayAdapter. В doInBackGround запросите db периодически и передайте результат в onProgressUpdate, чем просто заполните ArrayAdapter новыми добавленными значениями. Но когда появился сценарий два, я запрашиваю всю таблицу, а не копирую все значения в ArrayAdapter за один шаг, который довольно медленный.
- Сценарий два - снова запросите db, просто используйте CursorAdapter. Но в этом случае я не могу обновлять ListView динамически с помощью CursorAdapter.
Итак, любые идеи, как реализовать это с помощью одного адаптера, или просто следует использовать ArrayAdapter и CursorAdapter в зависимости от случая?
0 проверка голосов Я не хочу хранить два набора данных. На самом деле только один набор данных имеет только два разных состояния. Итак, любые другие идеи –