Это зависит от типа объекта, который находится в списке массивов.Если у вас есть контроль над ним и он может реализовывать Parcelable, тогда вы можете использовать Intent.putParcelableArrayListExtra
.
Другой подход - расширить Application и сохранить там свой ArrayList.Затем его не нужно передавать в Intent, и все действия в приложении могут получить к нему доступ, вызвав getApplication()
.Объект приложения будет сохраняться в течение всего срока действия приложения, как и любые данные, хранящиеся в нем.
РЕДАКТИРОВАТЬ:
Чтобы использовать объект приложения для этого:
- Напишите класс (назовем его
MyApplication
), который расширяет android.app.Application
.Объявите поле (назовем его array
) для хранения списка массивов. - Укажите имя
MyApplication
в теге манифеста <application>
.Экземпляр MyApplication
будет создан системой при создании процесса для вашего приложения. - Любое действие, которое хочет получить доступ к полю, может использовать
((MyApplication) getApplication()).array
.Вы инициализируете его в первом действии и извлекаете его во втором.
Еще один совершенно другой подход - объявить статический синглтон в некотором классе.Документы фактически рекомендуют это по сравнению с Application подклассов как более модульные.Это своего рода хак, потому что это в основном объявление глобальной переменной.Но я полагаю, что это не более чем хак, чем помещение случайных данных в объект Application.