во ViewModel загружаю модельку и потом отображаю данные через LiveData.
Если у меня допустим очень большая моделька и я хочу загрузить только часть данных и только эту часть обновить - какой нормальный способ это сделать?
ну пусть в модельке будет всегда столько данных сколько достаточно, чтобы они заполнили всю видимую часть данными и обновляйте модель , когда надо. Зачем в него гигабайт сразу вливать
Нет, тут не то чтобы очень много данных в плане большого списка, а допустим у меня экран разделен на три сектора - топ, цернт и боттом. При первой загрузке экрана - грузятся сразу все три в одной модельке. Но допустим при взаимодействии с каким-то конкретным сектором я хочу обновлять только его - т.е. перезагрузить только эту часть, ну и соответсвенно по этой части обновить основную модельку
написать код, конечно) Я бы добавил к LiveData метод, который вместо обычно значение кидает еще предыдущее. Тогда можно просто делать диффинг liveData.observe(viewLifecycleOwner, { first, second -> Тут диффинг }
правки в его вопрос показали, что проблема другая)
да три модели.. что еще то
Очень мало что понятно из вопроса
Сори, что не очень понятно сразу описал
ну так а если там 5-7 секторов? как-то не очень будет выглядеть
ну если проблема приобретает такой характер, то возникает вопрос, а вообще как различаете, в каком секторе какая часть из данных одной модели должна отобразиться
у тебя у каждого сектора есть свой стейт?
Обсуждают сегодня