Как передать данные из одной деятельности в другую, используя шаблон MVP? - PullRequest
1 голос
/ 06 апреля 2019

У меня есть Recyclerview в MainActivity, где данные из API. Я хочу открыть DetailsActivity после нажатия на элемент.

Теперь в шаблоне MVP как передать объект данных из MainActivity в DetailsActivity? Я использовал Interactor в Mainactivity для обработки части данных.

Ответы [ 2 ]

1 голос
/ 06 апреля 2019

Я думаю, вам следует использовать callback в вашем adapter и передавать данные из вашего adapter в

в ваш первый activity, а затем передавать данные из первого activity во вторую activity сParcelable.

Вы можете использовать это для использования Parcelable.

[https://developer.android.com/reference/android/os/Parcelable

1 голос
/ 06 апреля 2019

В предположении, что DetailsActivity должен показывать "детали", которые имеют id, вы можете передать id через Bundle на DetailsActivity и получить "детали" с помощью id.

Если предположение неверно, то вы можете сделать «детали» Parcelable и передать их через Bundle в DetailsActivity.

При использовании любого из этих подходов гарантируется, что данные, переданные через Bundle, «переживут» смерть процесса в случае, если процесс вашего приложения будет убит системой в фоновом режиме. То есть, при переходе обратно к приложению Bundle будет "доставлено" на DetailsActivity.

Я могу напрямую передать данные в DetailActivity через Intent , но как здесь подход MVP ?

В MVP представление ( V ) обычно зависит от платформы, поэтому вполне нормально (в Android ) работать с Bundle.

Это означает, что я могу напрямую отправлять данные на DetailActivity?

Да, это может быть следующим. Presenter (P) из DetailsActivity получает id, переданный через Intent и "просит" Interactor , чтобы получить подробные данные из Repository (или другая используемая вами абстракция).

...