Size: a a a

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

2019 August 06

DO

Dmitry O in Moxy – MVP библиотека под Android
Коллеги, нужна моральная поддержка ;) и совет, как правильно реализовать работу с динамическими views в Moxy.

Задача: есть фрагмент, который отображает фильтр, представляющий собой динамические Filter Chips.

ВАРИАНТ 1. Первое, что приходит в голову – следующий интерфейс MvpView:

public interface FilterMvpView extends MvpView {
 @StateStrategyType(AddToEndSingleStrategy.class)
 // добавляем чипы и устанавливаем их состояние
 void showFilterChips(HashMap<String,Boolean> checkedChips);
}
источник

DO

Dmitry O in Moxy – MVP библиотека под Android
При смене ориентации «чипы» вновь добавляются, но, ожидаемо, их состояние (checked) на данный момент могло устареть. Состояние можно сохранять в onSaveInstanceState() / onViewStateRestored(), но, наверное, правильно было бы решать проблему средствами Moxy.

ВАРИАНТ 2. Для этого попробуем разнести добавление чипов и переключение их состояния в два разных метода:
источник

DO

Dmitry O in Moxy – MVP библиотека под Android
public interface FilterMvpView extends MvpView {

 // тут только добавляем
 @StateStrategyType(AddToEndSingleStrategy.class)
 void addFilterChips(ArrayList<String> chips);

// а тут устанавливаем состояние
 @StateStrategyType(AddToEndSingleStrategy.class)
 void setCheckedChips(HashMap<String,Boolean>    checkedChips);
}
источник

DO

Dmitry O in Moxy – MVP библиотека под Android
Однако, при данном походе приходится вызывать setCheckedChips() каждый раз, когда пользователь кликнул хотя бы на одном чипе, что выглядит излишним.

Подскажите, как вы реализуете подобные задачи? Спасибо!
источник
2019 August 07

АЕ

Алексей Ершов in Moxy – MVP библиотека под Android
Dmitry O
При смене ориентации «чипы» вновь добавляются, но, ожидаемо, их состояние (checked) на данный момент могло устареть. Состояние можно сохранять в onSaveInstanceState() / onViewStateRestored(), но, наверное, правильно было бы решать проблему средствами Moxy.

ВАРИАНТ 2. Для этого попробуем разнести добавление чипов и переключение их состояния в два разных метода:
что вы имеете в виду под "состояние могло устареть"?
источник

DO

Dmitry O in Moxy – MVP библиотека под Android
Dmitry O
Коллеги, нужна моральная поддержка ;) и совет, как правильно реализовать работу с динамическими views в Moxy.

Задача: есть фрагмент, который отображает фильтр, представляющий собой динамические Filter Chips.

ВАРИАНТ 1. Первое, что приходит в голову – следующий интерфейс MvpView:

public interface FilterMvpView extends MvpView {
 @StateStrategyType(AddToEndSingleStrategy.class)
 // добавляем чипы и устанавливаем их состояние
 void showFilterChips(HashMap<String,Boolean> checkedChips);
}
Алексей, состояние могло устареть т.к. наша стратегия отрабатывает один раз, после чего пользователь может покликать по views.
источник

AB

Andrey Belyaev in Moxy – MVP библиотека под Android
Если вы хотите сохранить состояние вью после пересоздания, любые изменения должны проходить через презентер, поэтому 2ой вариант вполне логичен
источник

DO

Dmitry O in Moxy – MVP библиотека под Android
Уточняю: после каждого клика на view, передавать что-то презентеру, который вызовет метод mvpview, чтобы этот метод попал в состояние, хотя фактически в самом mvpview все изменения придется скипнуть?
источник
2019 August 09

O

OzOn in Moxy – MVP библиотека под Android
подскажите плз мокси уже поддерживаеи androidx?
источник

A

Azad 🧤 in Moxy – MVP библиотека под Android
OzOn
подскажите плз мокси уже поддерживаеи androidx?
источник

O

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

s

sva in Moxy – MVP библиотека под Android
Ребят, если у кого пример использования Moxy + dagger 2 с использованием scopes?
источник
2019 August 10

AB

Alexander Blinov in Moxy – MVP библиотека под Android
Это скорее больше про даггер. Мокси специфики тут нет
источник
2019 August 14

HL

Heorhii Lysenko in Moxy – MVP библиотека под Android
Здравствуйте. Кто-то использует Moxy с androidx? если да, то какие зависимости нужно добавить?
источник

DB

Dmitro Boiko in Moxy – MVP библиотека под Android
implementation "com.github.moxy-community:moxy:$moxyVersion"
   implementation "com.github.moxy-community:moxy-androidx:$moxyVersion"
   kapt "com.github.moxy-community:moxy-compiler:$moxyVersion"
источник

DB

Dmitro Boiko in Moxy – MVP библиотека под Android
moxyVersion = '1.0.13'
источник

HL

Heorhii Lysenko in Moxy – MVP библиотека под Android
получается теперь по всему проекту нужно изменить названия пакетов?
источник

DB

Dmitro Boiko in Moxy – MVP библиотека под Android
ctrl + shift + R в помощь )
источник

HL

Heorhii Lysenko in Moxy – MVP библиотека под Android
спасибо:)
источник

YS

Yuri Shmakov in Moxy – MVP библиотека под Android
можно ещё проще
источник