Невозможно обновить представление списка в реальном времени после удаления элемента из списка - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть представление списка с текстом и кнопкой.Содержимое списка (текст) извлекается из базы данных SQLite.Я реализовал код так, что, если кто-то нажмет кнопку, соответствующий флаг этого элемента списка изменится в таблице базы данных.Мое намерение было бы, как только флаг поменяется в таблице базы данных, соответствующий элемент списка должен исчезнуть из списка.

В настоящее время я могу изменить значение флага для элемента списка (успешнообновление в соответствующем столбце таблицы), но элемент списка остается в представлении списка, пока я снова не открою приложение.Элемент списка затем исчезает по желанию.

Есть ли способ, при котором, как только я нажимаю кнопку, и когда значение флага изменяется на фоне, список обновляется и показывает мне только другие элементыlist.?

Ваша помощь будет высоко оценена.Заранее спасибо.

Ответы [ 5 ]

2 голосов
/ 29 ноября 2011

Вам необходимо выполнить Requery () после изменения чего-либо в источнике данных.

- Правка -

Только что обнаружил, что запрос устарел, но в любом случае идея та же. Запросите другой новый Cursor и установите его в CursorAdapter (если вы его используете).

0 голосов
/ 19 июля 2012
getLoaderManager().restartLoader(0, null, this);
0 голосов
/ 23 декабря 2011

Спасибо всем за ваши ответы.Я пытался сделать это в Android, но, кажется, немного сложнее.Следовательно, чтобы обновить представление списка после обновления списка, я переименовал действие, используя намерения, чтобы я получил новое представление списка с добавленными или удаленными записями списка.

Надеюсь, я найду другой андроидспособ решения в ближайшее время.

0 голосов
/ 29 ноября 2011

Как правило, для ListView необходимо подготовить адаптер для ListView, чтобы обеспечить содержимое каждого элемента в ListView. Основная идея заключается в том, что для обновления списка необходимо вызвать adapter.notifyDataSetChanged(), чтобы запросить обновление.

0 голосов
/ 29 ноября 2011
  1. Запрос с новым курсором и установка результатов в CursorAdapter
  2. сделать недействительным () существующее представление списка
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...