Обновление объектов модели в разных действиях - PullRequest
0 голосов
/ 05 января 2011

Допустим, у меня есть 2 занятия:

  • A: ListView, отображающий заголовки статей. Данные извлекаются с веб-сервера и преобразуются из XML в список ArticleSummary. Только названия пользователей и ID возвращаются сервером. Нажмите на название, чтобы начать деятельность B.
  • B: Форма для редактирования статьи. Статья взята с сервера. Когда пользователь нажимает кнопку ОК, изменения отправляются на сервер и действие закрывается.

Когда пользователь вернется к заданию A, я хотел бы обновить заголовок статьи без каких-либо дополнительных веб-запросов.

Я думал о следующем решении:

  1. При изменении статьи отправьте событие трансляции с идентификатором статьи и новыми значениями атрибутов.
  2. Прослушать это событие в мероприятии A
  3. Обновление объекта ArticleSummary
  4. данные уведомления изменены в ListView

Есть ли лучший подход?

Ответы [ 2 ]

0 голосов
/ 05 января 2011

Вы также можете использовать startActivityForResult () для запуска действия и управления возвращенными данными.

Проверьте раздел «Возврат результата с экрана» в приведенной ниже части. http://developer.android.com/guide/appendix/faq/commontasks.html

0 голосов
/ 05 января 2011

Если вы хотите иметь общую модель данных для разных видов деятельности, вы можете поместить ее в расширение класса Приложение . Или вы можете использовать синглтон. Просто перезагрузите данные из общего расположения после перезапуска действия ListView.

Как говорил Фредли, если вы общаетесь с сервером, вы должны обязательно делать это в отдельном фоновом потоке.

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