Size: a a a

Android Architecture

2020 August 22

S

Sergey Mitrofanov in Android Architecture
Arkadii Ivanov
Так сделайте презентер или назовите как хотите. Просто отдаленный класс, или вообще функция. Просто чтобы у состояния не было API. Типа fun Actions.apply(state)
А что плохого в объекте с поведением? 🤔
источник

AI

Arkadii Ivanov in Android Architecture
Sergey Mitrofanov
А что плохого в объекте с поведением? 🤔
Вызывает диссонанс и непонимание наличие API у мешков с данными
источник

S

Sergey Mitrofanov in Android Architecture
Понятно )
источник

AI

Arkadii Ivanov in Android Architecture
Ну и вообще семантика "применить себя к другому объекту". На много понятнее "применить другой объект к себе"
источник

S

Sergey Mitrofanov in Android Architecture
Ну смысл метода стейта - он применяет себя ко вью. Но да, согласен, наименование метода неоднозначно - кто кого применяет )
источник

S

Sergey Mitrofanov in Android Architecture
Подумаю, поправлю, спасибо!
источник

S

Singular in Android Architecture
Есть 2 окна и ViewModel. В ViewModel метод получает список.

Как настроить 2 окна, чтобы они работали с одним списком через адаптер?

Дело в том что, если в адаптере кликнуть на элемент, то картинка станет черной, на втором экране это тоже надо увидеть
источник

i

iamthevoid in Android Architecture
Singular
Есть 2 окна и ViewModel. В ViewModel метод получает список.

Как настроить 2 окна, чтобы они работали с одним списком через адаптер?

Дело в том что, если в адаптере кликнуть на элемент, то картинка станет черной, на втором экране это тоже надо увидеть
Используй вью модел активити или родительского фрагмента
источник

S

Singular in Android Architecture
Я вызываю в первом фрагменте viewModel.stateData.value?.add(pos, data)
И жду чтобы у второго фрагмента, сработал Observer,а  он не  работает
источник

i

iamthevoid in Android Architecture
Singular
Я вызываю в первом фрагменте viewModel.stateData.value?.add(pos, data)
И жду чтобы у второго фрагмента, сработал Observer,а  он не  работает
А он в каком состоянии? Пауз, стоп, дестрой? Он не отписался?
источник

i

iamthevoid in Android Architecture
Убедись, что вью модел общая и что фрагмент не отписался и всё будет ок
источник

S

Singular in Android Architecture
iamthevoid
А он в каком состоянии? Пауз, стоп, дестрой? Он не отписался?
Незнаю, я его вызвал в onViewCreated
Вот так viewModel.stateData.observe(viewLifecycleOwner, { и все
источник

S

Singular in Android Architecture
Он же подписался, должен получать ответы
источник

i

iamthevoid in Android Architecture
Ну видимо у тебя лайвдата, которая привязана к жц фрагмента. Не уверен, как она работает, скорее всего в он стоп отписывается. Возможно фрагменту нужно снова подписаться на обновления
источник

i

iamthevoid in Android Architecture
Ты же информации не даёшь никакой. Разберись с тем, что я описал и самому будет понятнее
источник

i

iamthevoid in Android Architecture
Проверь вью модел - поставь внутри бряку, чтобы перехватывалась и сравни ссылку на this в первом и втором фрагменте. Если разная - первая проблема есть, если одна - ищи дальше
источник

i

iamthevoid in Android Architecture
Лайв дата работает как бихейвор сабжект, т.е. если там есть данные, то фрагмент их получит, возможно он не подписался при возврате на себя
источник

S

Singular in Android Architecture
iamthevoid
Ну видимо у тебя лайвдата, которая привязана к жц фрагмента. Не уверен, как она работает, скорее всего в он стоп отписывается. Возможно фрагменту нужно снова подписаться на обновления
Кстати, к LiveData могут больше 2 подписчиков подписаываться или только один?
источник

YI

Yerkebulan Issabekov in Android Architecture
iamthevoid
Ну видимо у тебя лайвдата, которая привязана к жц фрагмента. Не уверен, как она работает, скорее всего в он стоп отписывается. Возможно фрагменту нужно снова подписаться на обновления
если передал оунера вьюшки(что он и сделал), то отписка только в onDestroyView. В онСтоп не отпишется
источник

YI

Yerkebulan Issabekov in Android Architecture
Singular
Кстати, к LiveData могут больше 2 подписчиков подписаываться или только один?
могут
источник