ListView - Adapter - MVP

Интерфейс, диалоги, темы, стили, меню
Ответить
breeve
Сообщения: 1
Зарегистрирован: 06 мар 2015, 13:20

ListView - Adapter - MVP

Сообщение breeve » 06 мар 2015, 13:34

Всем добрый день!
Вопрос такой, не совсем ясно как должно быть организовано приложение в случае если:

1. Есть класс Model где хранятся данные.
2. Есть Activity на котором выведен список.

Необходимо чтобы при изменении данных в модели, менялся список в адаптере что в свою очередь изменяло бы отображение на активити (возможно ошибаюсь).
Соответственно после изменения содержимого списка (порядка элементов или значений) отдельным контролом (Button, Plug n play, Событие), должны обновляться данные в модели, адаптер и отображения.

Я понимаю что такое наблюдатель и могу реализовать его в модели. Сделал небольшой пример с EditText и несколькими TextView, все обновляется как надо.

Но не понятно как реализовать это все со списком, так чтобы это не было костылем.
Не совсем ясно где положено хранится данным и как должно быть реализовано взаимодействие.
Знаю что в адаптерах можно зарегистрировать наблюдателей. Выходит что данные должны хранится в адаптере? а затем уже менять все подцепленные ListView?

Если кто-то подскажет какой то пример или статью, буду благодарен.

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: ListView - Adapter - MVP

Сообщение doter.ua » 06 мар 2015, 13:58

Адаптер использует коллекции (или просто массивы), поменял коллекцию, которую передавал к конструктор, вызвал у адаптера метод "обновись" и он перерисует весь список согласно данным в коллекции.
ArrayList<Model> models; + кастомный adapter extends ArrayAdapter<Model>
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Ответить