Size: a a a

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

2018 November 25

B

Boris in Moxy – MVP библиотека под Android
Всем привет! Насколько я понимаю, moxy не позволяет переиспользовать презентеры через наследование от базового презентера. Если мне надо переиспользовать код презентера (например, в разных фрагментах одинаково изменять состояние каких-нибудь похожих лэйаутов), то нормально ли будет иметь два презентера для одного фрагмента (свой уникальный и тот, который еще используется в другом месте)?
источник

B

Boris in Moxy – MVP библиотека под Android
Если нет, то какие другие варианты переиспользования кода презентера есть для moxy и где про это можно почитать/посмотреть код?
источник

AB

Alexander Blinov in Moxy – MVP библиотека под Android
Можно и два
источник

AB

Alexander Blinov in Moxy – MVP библиотека под Android
А какого типа код хотите переиспользовать?
источник

B

Boris in Moxy – MVP библиотека под Android
Ну например, при открытии файла из разных экранов показывать экран с загрузкой
источник

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
А что тебе мешает сделать базовый абстрактный презентер, плюс сделать базовый view, добавить кода в базовый презентер
источник

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
и сделать два наследника и вот попажлуйста у тебя два фрагмента и два презентера с общим кодом
источник

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
я вообще не представляю, чтобы в проекте не было одного супер-пупер-базового презентера и view, от которого наследуются все презентеры и вью
источник

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
у меня в базовом вью есть как минимум close, setProgress(bool) и show(чтобы показывать алерты и тоасты)
источник

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
А в самом презентере все вызовы апи идут через определённый метод, соот-но при запуске background задачи делается setProgress(true), а при завершении setProgress(false)
источник

B

Boris in Moxy – MVP библиотека под Android
Я когда-то давно пробовал вариант с базовым презентером, но были проблемы связанные с кодогенерацией и потом я прочитал, что это ограничение moxy
источник

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
Ох...как же меня бесит иногад АС. Знаете что я первым делом делаю, когда ставлю новую версию АС? Иду в папку с АС, открываю xml файл и сношу целиком dialog настройку из логгирования. Причём в EAP с этим обстоят дела лучше, чем в АС canary
источник

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
Слушай, ну как-то странно.
источник

B

Boris in Moxy – MVP библиотека под Android
Т.е. у тебя BasePresenter<T extends BaseView> extends MvpPresenter<T extends BaseView>, и есть Presenter1 extends BasePresenter<View extends BaseView> и все это нормально живет в moxy?
источник

MR

Max Rovkin in Moxy – MVP библиотека под Android
Boris
Т.е. у тебя BasePresenter<T extends BaseView> extends MvpPresenter<T extends BaseView>, и есть Presenter1 extends BasePresenter<View extends BaseView> и все это нормально живет в moxy?
только если у тебя презентер типизирован, он должен быть абстрактным, вроде так, а если не абстрактный, то дженерик типа у самого презентера не должно быть, а вот у родителя может
источник

B

Boris in Moxy – MVP библиотека под Android
Max Rovkin
только если у тебя презентер типизирован, он должен быть абстрактным, вроде так, а если не абстрактный, то дженерик типа у самого презентера не должно быть, а вот у родителя может
Хм, я думал так не будет работать... спасибо, попробую)
источник

YS

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

YS

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

YS

Yura Shinkarev in Moxy – MVP библиотека под Android
О, чего-то не вставилась как картинка
источник

YS

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