Прежде всего, вы можете рассмотреть возможность использования файлового актива json для создания различных списков. это облегчит редактирование ваших предметов в будущем.
Далее вы должны подумать об использовании фрагментов и навигации, поскольку ваше приложение может иметь несколько экранов, которые должны передавать информацию от одного к другому.
Используя указанный выше код для передачи простых данных с одного экрана на другой будет выглядеть так:
findNavController().navigate(R.id.action_screenA_to_screenB,bundleOf(Pair("selected_items", selected) // where selected might be an array
, но теперь с реальными вещами.
Я думал, что это приведет к состоянию приложения, поэтому ваше состояние должно отслеживаться на центральное положение, которое будет отображаться в любой позиции вашего приложения.
Так что для этого вам не нужно переносить данные непосредственно на следующий экран, лучше было бы перенести данные в модель.
Таким образом, любой выбор или действие, требующее изменения данных, будет выполнено на модели. Теперь, когда у модели есть какие-либо действия, которые нужно сделать. Вы можете изменить экран без необходимости переноса данных на следующий.
Но как мне это сделать, спросите вы? Сделайте глубокий вдох, и вот ссылка на руководства, которые могут решить ваши проблемы и упростить обслуживание вашего приложения.
Навигация с использованием контроллера навигации
Использование общей модели представления для обмена данными между фрагментами
и, наконец, Использование Lifecycleobserver для загрузки и сохранения данных