Size: a a a

Moxy – MVP библиотека под Android

2019 February 14

АЕ

Алексей Ершов in Moxy – MVP библиотека под Android
какая разница?
источник

Ю

Юрий in Moxy – MVP библиотека под Android
Алексей Ершов
какая разница?
как в таком случае отдельный презентер влипить для каждого элемента?
источник

АЕ

Алексей Ершов in Moxy – MVP библиотека под Android
Юрий
как в таком случае отдельный презентер влипить для каждого элемента?
разновидностей элементов ведь конечное число. Не очень понял, в чём вопрос)
источник

ЫК

Ыгорь Кыо in Moxy – MVP библиотека под Android
у меня сейчас проблема с таким кейсом. во фрагменте создаётся родительский делегат - уходит в адаптер. в каждом холдере создаются делегаты которые идут во вложенные элементы. Соответственно в холдерах создаются презентеры.

проблема в следущем. при паузе фрагмента родительского вызываю у делегата:
      getMvpDelegate().onDetach();
       getMvpDelegate().onDestroyView();
       getMvpDelegate().onDestroy();

по логам вижу что у отнаследовавшихся происходит вызов onDestroy

после восстановления фрагмента и паузы повторной видно что onDestroy вызывается повторно у тех же презентеров которые уже должны быть уничтожены.
То есть если при первом onPause было 2 вызова onDestroy презентеров которые смотрят на родительский делегат, то при повторной паузе их 4. Потом 6 onDestroy-ев.

Соответственно эти неудаляющиеся презентеры генерят OOM.
В то же время в presenterStore такого количества презентеров нет.

Куда копать-то?
источник

Ю

Юрий in Moxy – MVP библиотека под Android
Алексей Ершов
разновидностей элементов ведь конечное число. Не очень понял, в чём вопрос)
есть список новостей. нужен ли для каждого элемента свой презентер или нет?
источник

ЫК

Ыгорь Кыо in Moxy – MVP библиотека под Android
есть ли там логика которую нужно выносить в презентер
источник

АЕ

Алексей Ершов in Moxy – MVP библиотека под Android
Юрий
есть список новостей. нужен ли для каждого элемента свой презентер или нет?
Если каждая новость сложный динамический элемент, который изменяется независимо от других - то, возможно, имеет смысл.
источник

Ю

Юрий in Moxy – MVP библиотека под Android
Алексей Ершов
Если каждая новость сложный динамический элемент, который изменяется независимо от других - то, возможно, имеет смысл.
так и есть.... я делал это так : в адаптере сделал пабличный сеттер и кидал туда новый список, включая и элементы, которые и не были изменены, после этого делал обновление адаптера notifyDataSetChanged. Но как я понимаю нормально было бы сделать для каждого свой презентер
источник

АЕ

Алексей Ершов in Moxy – MVP библиотека под Android
Юрий
так и есть.... я делал это так : в адаптере сделал пабличный сеттер и кидал туда новый список, включая и элементы, которые и не были изменены, после этого делал обновление адаптера notifyDataSetChanged. Но как я понимаю нормально было бы сделать для каждого свой презентер
можно так, можно эдак, зависит от конкретной задачи) Если у вас 20 разных видов элементов списка, то прокидывать все взаимодействия с этими элементами через основной презентер экрана выглядит плохой идеей. Если элемент одного вида, и ничего кроме клика не надо обрабатывать - можно и через основной, и не нужна лишняя сложность
источник

VB

Vladimir Bobkov in Moxy – MVP библиотека под Android
Привет, Нароооод! Почему-то под андроид 8.0 этот код работает, под андроид 4.2 выдаёт такую ошибку:
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
источник

VB

Vladimir Bobkov in Moxy – MVP библиотека под Android
источник

IG

Ilya Gulya in Moxy – MVP библиотека под Android
Вам в @android_ru
источник

NS

Nail Shaykhraziev in Moxy – MVP библиотека под Android
Vladimir Bobkov
Привет, Нароооод! Почему-то под андроид 8.0 этот код работает, под андроид 4.2 выдаёт такую ошибку:
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
Попробуйте явно в launch передать Dispatchers.Main
источник

VB

Vladimir Bobkov in Moxy – MVP библиотека под Android
Nail Shaykhraziev
Попробуйте явно в launch передать Dispatchers.Main
Спс! Аха!
источник
2019 February 19

СР

Степан Ревицький in Moxy – MVP библиотека под Android
может кто то показать пример реализации mvp на моху в recyclerview ?
желательно с силкой на гитхаб
источник

ES

Eugene Stepanov in Moxy – MVP библиотека под Android
Зачем мвп в ресайклере?
источник

TL

Timophei Lemeschenko in Moxy – MVP библиотека под Android
я ресайклер с клин и mvp пишу всегда, это же КЛИН😃
источник

AP

Andrey Prokhorenko in Moxy – MVP библиотека под Android
Eugene Stepanov
Зачем мвп в ресайклере?
Откуда мы знаем, зачем тебе мвп в ресайклере?
источник

СР

Степан Ревицький in Moxy – MVP библиотека под Android
Eugene Stepanov
Зачем мвп в ресайклере?
ето можна зделать, так что надо попробовать
не хранить же часть логики в холдере
источник

D

Donald in Moxy – MVP библиотека под Android
Ну да, лучше костылять что-то сомнительное только потому что "логика во вью bad"
источник