Android: изменить CursorAdapter без изменения базы данных? - PullRequest
0 голосов
/ 27 марта 2012

У меня есть хорошо работающий пользовательский CursorAdapter с настроенным ListView.Это представление позволяет пользователю поиграть со своим пользовательским интерфейсом, переупорядочив строки ListView.Нет проблем (ну, теперь после долгих исследований, проб и ошибок!).

Но мне не нравится попадать в базу данных каждый раз, когда пользователь перемещает одну из этих строк.Они могут делать довольно много модификаций.Кроме того, я хотел бы, чтобы у пользователя была возможность изменить свое мнение и отменить все свои изменения.

Поэтому мне интересно: есть ли способ изменить содержимое этого ListView (то есть, порядок строк) без необходимости менять базу данных?Таким образом, я мог бы обновить базу данных, когда пользователь нажимает OKAY одним махом, и игнорировать эти изменения, если они отменяются.

Кроме того, с помощью этого теоретического метода, пользователь должен только подождать, пока AsyncTask появится и выполнит его.базы данных, а не каждый раз, когда они изменяют свой список.

1 Ответ

1 голос
/ 27 марта 2012

Используйте пользовательский класс, содержащий все нужные вам члены из базы данных.Создайте ArrayList объекта customClass и заполните его данными из курсора, полученными из базы данных.Передайте этот массив списков в CustomBaseAdapter и заполните представление списка.Измените данные массива в соответствии с реакциями пользователя.На основании OK или ОТМЕНА нажмите обновить соответствующие данные в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...