Size: a a a

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

2019 January 29

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
лишние движения по сохранению в префы. или в sql было бы проще в моем случае. т.к. все таблицы у меня там. можно еще графу добавить по последнему выбранному ответу, но если экран будет развиваться и появятся новые фишки , то это добавлять еще поля и так далее. А тут презентер живет ровно сколько надо и все
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
Donald
Тогда чекайте сорс код, когда он уничтожается, может и так получится
не совсем понял.
источник

D

Donald in Moxy – MVP библиотека под Android
Если надо ещё вручную трогать mvpDelegate - то это телодвижения лишние
источник

D

Donald in Moxy – MVP библиотека под Android
Turalllb Turalll
не совсем понял.
Просто проверьте будет ли работать так как вам надо
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
попробую , но не совсем понял как getMvpDelegate().onDestroy(); работает. Он вызывается во вью и уничтожает текущий презентер ?
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
Не знаю интересна ли эта каша, но напишу, вдруг от этого мне самому умная мысль придет)  способ с фрагмент менеджером у меня почти что сработал.. Алгоритм был такой: после ответов на все табы переход на новую активность, после по нажатию Показать ошибки, посылаю интент к прошлой активности, поднимаю ее с backStack и после onResume , зануляю текущий адаптер, у фрагментов которые в данный момент в памяти вызывается detach. сохраняю в массив нужные фрагменты из фрагмент менеджера. Очищаю все фрагменты из фрагмент менеджера, подаю новый адаптер , который берет фрагменты из массива. И беда в том, что в массиве те фрагменты которые были в памяти перед занулением адаптера, хоть и имеют нужное состояние, но при отображении , у них вызывается метод @ProvidePresenter и создается новый презентер... Я пока не понял почему так происходит именно с этими фрагментами, ведь у них ровно так же как и остальных вызвался detach.
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
Подскажите, а что такое могло произойти в плане жизненного цикла с экземпляром фрагмента, что у него повторно вызвался @ProvidePresenter.
источник

MM

Maxim Motorniy in Moxy – MVP библиотека под Android
Turalllb Turalll
я просто совсем не понимаю зачем мне куда то сохранять эти данные если они есть в презентере, надо только чтобы он дожил до второй активности
Я вообще не понимаю зачем такие пляски с бубном, если можно сохранить данные в статик поле активити или апликейшена.
источник

Ю

Юрий in Moxy – MVP библиотека под Android
Здравствуйте, подскажите , пожалуйста как мне для фрагмента создать свой презентер? Есть ли пример ?
источник

YS

Yuri Shmakov in Moxy – MVP библиотека под Android
Юрий
Здравствуйте, подскажите , пожалуйста как мне для фрагмента создать свой презентер? Есть ли пример ?
источник

YS

Yuri Shmakov in Moxy – MVP библиотека под Android
Turalllb Turalll
Подскажите, а что такое могло произойти в плане жизненного цикла с экземпляром фрагмента, что у него повторно вызвался @ProvidePresenter.
ну значит это типа совсем новый фрагмент, у которого нет сэйв стейта. или до этого у фрагмента каким-то образом не был вызван сэйв стейта
источник

Ю

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

YS

Yuri Shmakov in Moxy – MVP библиотека под Android
мокси тут не при чём =) делай так, как хочешь
источник

Ю

Юрий in Moxy – MVP библиотека под Android
Yuri Shmakov
мокси тут не при чём =) делай так, как хочешь
понял:)
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
Yuri Shmakov
ну значит это типа совсем новый фрагмент, у которого нет сэйв стейта. или до этого у фрагмента каким-то образом не был вызван сэйв стейта
Ну это ясно, просто дело в том что это не новый фрагмент. Это фрагмент в котором уже инициализировано поле презентера в котором есть нужный стейт.  Поэтому интересно стало выполняется  проверка перед тем как выполнить @ProvidePresenter. Наверно смотрится в какое то локальное хранилище презентеров
источник

YS

Yuri Shmakov in Moxy – MVP библиотека под Android
дело в сэйв стейте. а в ProvidePresenter не делается никакой проверки. Этот метод вызовется тогда, когда мокси решит, что нужно проинициализировать это поле. И решает это исключительно на основании данных в сэйв стейте. Если нужно проверку на то, проинициализированно ли поле, то это можно написать самостоятельно в теле этого метода 😉
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
Maxim Motorniy
Я вообще не понимаю зачем такие пляски с бубном, если можно сохранить данные в статик поле активити или апликейшена.
Не хотел отдельный класс для хранения того какие кнопки чекнуты, если хранить в статик поле сам фрагмент, то опять же при использовании этих фрагментов выполняется @ProvidePresenter и поле презентера новое.  Это я только недавно понял в чем причина того что состояние не сохраняется. А так вы правы, сохранил в статик поле и когда не нужно анулировал.
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
Yuri Shmakov
дело в сэйв стейте. а в ProvidePresenter не делается никакой проверки. Этот метод вызовется тогда, когда мокси решит, что нужно проинициализировать это поле. И решает это исключительно на основании данных в сэйв стейте. Если нужно проверку на то, проинициализированно ли поле, то это можно написать самостоятельно в теле этого метода 😉
Ах точно.. Можно же от себя доп. проверку замутить ) что то не подумал сразу.  Но вариант с тем чтобы сделать презентер глобальным тоже хороший. Я бы по номерам табов по тегу метил вью. Но только вопрос в том,  как очистить глобальные презентеры разом да еще и из активности на которой эти презентеры не используются?
источник

YS

Yuri Shmakov in Moxy – MVP библиотека под Android
Turalllb Turalll
Ах точно.. Можно же от себя доп. проверку замутить ) что то не подумал сразу.  Но вариант с тем чтобы сделать презентер глобальным тоже хороший. Я бы по номерам табов по тегу метил вью. Но только вопрос в том,  как очистить глобальные презентеры разом да еще и из активности на которой эти презентеры не используются?
Есть такая штука: https://github.com/Arello-Mobile/Moxy/blob/master/moxy/src/main/java/com/arellomobile/mvp/MvpFacade.java#L41 но очень не рекомендую делать через неё - сделайте нормально, через локальные презентеры + слой модели, в которой хранится то, что нужно + модел ьочищается когда надо.
источник

TT

Turalllb Turalll in Moxy – MVP библиотека под Android
Ок,спасибо
источник