выделение. Этот список лежит в адаптере во фрагменте, тк будет реиспользован. Количество элементов и сами элементы в списке константные.
Презентер фрагмента имеет метод init(List<ViewModel> elements), который просто заполняет список во фрагменте. Там фрагмент просто сам в себе отвечает за переключение элементов (пользователь кликает, сама вьюха меняет viewModel в которой есть boolean checked).
В некоторый момент мне нужно получить текущее состоянии списка, лист моделек, с обновлёнными состояниями. Сам список лежит только внутри адаптера. Эти данные нужны презентеру активити, в которой лежит фрагмент со своим презентером.
Вопрос: как бы вы организовали передачу списка?
mainView.onNextButtonClick() -> mainPresenter.onNextClick() -> mainView.getStates() -> innerView(fragment).getStates() -> (а ещё здесь можно через innerpresenter прогнать...) adapter.getStates()
В этом варианте смущает, что:
1) две вью общаются напрямую (внешняя с внутренней)
2) Получается, у адаптера есть метод getElements() и @xanderblinov, если я не ошибаюсь, выше писал, что они у себя так никогда не делают.
А когда две кнопки при клике на которые меняют состояние видимости - это не смущает? Я про то что чем отличается общение с адаптером от общения с другими вью? как бы вы организовали проверку состояния из одной кнопки - другой. Или при нажатии кнопки "Логин" где бы вы брали логин и пароль в обработчике кнопки или презентере?
о, кстати, тоже бьюсь над этим вопросом, если я все правильно понял, мне кажется не очень стественным чтоли общение через View, примерно в таком кейсе что у вас
Обсуждают сегодня