Size: a a a

Android arch. components

2019 March 21

NB

Nikita Bulygin in Android arch. components
Евгений
получается, и тот же инстанс фабрики надо инжектить.
Нет, не обязателно. ViewModel привязывается к активити. Когда ты его первый раз создал, у тебя будет использована фабрика для создания. Затем, если ты снова будешь вызывать ViewModelProviders.get... у тебя будет возвращаться тот-же инстанс, новый создаваться не будет. Пока активити не задестроится
источник

Е

Евгений in Android arch. components
Nikita Bulygin
Нет, не обязателно. ViewModel привязывается к активити. Когда ты его первый раз создал, у тебя будет использована фабрика для создания. Затем, если ты снова будешь вызывать ViewModelProviders.get... у тебя будет возвращаться тот-же инстанс, новый создаваться не будет. Пока активити не задестроится
спасибо
источник

AP

Anton Potekhin in Android arch. components
Бьюсь уже кучу в ремени с paging library ;) Выпиливать уже поздно, хотя с каждым днем все больше желания это сделать  ;) Проблема вот в чем.
У меня связка room+api. Сейчас нужно сделать обновление списка. в момент обновления я посылаю запрос в api как получил ответ удаляю данные из бд и запихиваю новые. Но дальше уперс в обновление самого списка. ДЛя того чтобы обновить вызываю invalidate  datasource. И в результате выхватываю java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 1(offset:0).state:2
источник

AP

Anton Potekhin in Android arch. components
Как это побороть ?
источник

AP

Anton Potekhin in Android arch. components
В добполнение я не использую datasource factory который возвращает room а использую свой потому что мне нужно показывать списко с произвольной позиции
источник

SV

Sviat Volkov in Android arch. components
Anton Potekhin
В добполнение я не использую datasource factory который возвращает room а использую свой потому что мне нужно показывать списко с произвольной позиции
вариант с включением плейсхолдеров и прыжком в нужное место пробовали?
источник

AP

Anton Potekhin in Android arch. components
Sviat Volkov
вариант с включением плейсхолдеров и прыжком в нужное место пробовали?
увы мне не подходят плейсхолдеры
источник

ST

Sasha Tainyuk in Android arch. components
Не проще обновить поля в бд?
источник

AP

Anton Potekhin in Android arch. components
Sasha Tainyuk
Не проще обновить поля в бд?
т.е. ?
источник

ST

Sasha Tainyuk in Android arch. components
ну у тебя весь список новый приходит при запросе или как?
источник

ST

Sasha Tainyuk in Android arch. components
и datasource  вроде можно указать с какой позиции грузить и по какую
источник

AP

Anton Potekhin in Android arch. components
Sasha Tainyuk
ну у тебя весь список новый приходит при запросе или как?
Ну не весь а первая страница списка ... Может быть вообще отличатся от прошлого списка. Но вопрос в другом. Если даже обновлю поля что мне это даст ?
источник

AP

Anton Potekhin in Android arch. components
Sasha Tainyuk
и datasource  вроде можно указать с какой позиции грузить и по какую
Можно а толку. Он использует лимит и офсет ...а если у меня в базе ещё нет вообще данных. То офсет не имеет смысла
источник

ST

Sasha Tainyuk in Android arch. components
То что список не будет прыгать. Меня лично бесит такое поведение в приложение. То есть, у тебя подгрузит данные новые, но список останется на месте
источник

ST

Sasha Tainyuk in Android arch. components
Посмотри на PositionalDataSource
источник

AP

Anton Potekhin in Android arch. components
Sasha Tainyuk
Посмотри на PositionalDataSource
Брр.... Какая разница какой датасурс ;) вопрос изначально почему после инвплидейт я выхватываю эксепшен ;)
источник

ST

Sasha Tainyuk in Android arch. components
Anton Potekhin
Брр.... Какая разница какой датасурс ;) вопрос изначально почему после инвплидейт я выхватываю эксепшен ;)
Хз, надо код смотреть что ты там делаешь.
источник

AP

Anton Potekhin in Android arch. components
Sasha Tainyuk
Хз, надо код смотреть что ты там делаешь.
Завтра сделаю нарезку...сегодня ушёл уже из офиса
источник

AP

Anton Potekhin in Android arch. components
Мне не понятно вот что. Вот я вызываю инвплидейт у датасурса. Соответственно создаётся новый pagedlist. Который сабмитится в адаптер. И после этого recyclerview валится
источник

ST

Sasha Tainyuk in Android arch. components
потому что скорее всего там ничего нет, а rv пытается перейти к нужной позиции
источник