#android #архитектура
Подскажите поподробней как реализовать такое? Нужно передать данные, например, какие EditText или CheckBox были выбраны на предыдущем фрагменте, чтобы работать с ними в текущем фрагменте. Не в чистой архитектуре передавалось через Bundle bundle = new Bundle(); bundle.putString("some_key", "some string"); fragment.setArguments(bundle); Далее вытаскиваем getArguments().getString("some_key") Но слышал. что в чистой архитектуре это делается таким способом Создается модель. Эта модель является глобальной для всех презентеров внутри этой активити. Остальные презентеры при надобности имеют право писать в модель, а презентер фрагмента должен соответственно реагировать на ее изменения" я имею ввиду взаимодействие через модель Хотелось бы в идеале увидеть пример, как это делается. Создавать свой репозиторий, для того чтобы передать пару строк или объект между фрагментами? Я использую Dagger2 можно ли тупо провайдить Model provideModel(){ return new Model(); } Сейчас у меня в каждый презентер своя модель попадает. Тогда нужно ее сделать синглтоном? Конкретно в моем случае я кликаю на один из элементов RecyclerView и мне нужно передать значение этого элемента. В общем пока нет понимания правильности.
Ответы
Ответ 1
Локальная модель нужна для передачи результата с экрана на предыдущий либо между двумя фрагментами на экране одновременно. Для запуска нового экрана, параметры запуска передаются в аргументах через бандл как и всегда. То есть схема такая: Во вью происходит клик на элемент в списке -> у презентера вызывается метод onItemClick(item) -> Презентер запускает новый экран, передав ему нужные параметры
Комментариев нет:
Отправить комментарий