LiveData, просмотр моделей с помощью гетерогенного рециклера - PullRequest
0 голосов
/ 03 октября 2019

Я работаю над приложением для Android, которое имеет вид переработчика с несколькими типами представлений. Первоначально это было приложение на основе MVP, которое я пытаюсь преобразовать в архитектуру на основе MVVM с помощью LiveData и ViewModels. У меня есть домашний экран со списком различных типов представлений внутри представления переработчика. Каждое представление имеет свою собственную ViewModel и соответствующую модель, в результате чего на главном экране отображается представление переработчика в виде коллекции различных моделей представления.

Это моя первая реализация LiveData, поэтому возникли некоторые проблемы с дизайном. Я вижу некоторые варианты здесь -

  1. Я создаю родительский HomeViewModel для своей домашней деятельности, который содержит объект LiveData, состоящий из списка различных дочерних моделей представления (представляющих различные типы представлений), выполняющих действие дляего владелец жизненного цикла. Затем я обновляю каждое представление (элементы представления переработчика) от одного наблюдателя до этого объекта LiveData.

  2. Я создаю отдельные объекты LiveData для каждой дочерней модели представления / представления и выполняю домашнюю деятельность как жизненный цикл. владелец для каждой модели / данных в реальном времени и обновлять их представления независимо от действий с соответствующими наблюдателями.

  3. Я создаю отдельные объекты LiveData для каждой дочерней модели представления / вида и делаю соответствующие классы держателя вида в качестве ихвладельцы жизненного цикла и обновлять отдельные представления в соответствующих классах владельцев.

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

Спасибо

...