Моя проблема в том, что у меня есть массив списков массивов с пользовательскими объектами, которые необходимо передать из одного действия в другое.
Понятно, скажем, у меня есть что-то вроде:
ArrayList<ArrayList<Statement>> data;
в одном упражнении, и я хочу передать его другому.Итак, первое, что я сделал, это заставил Statement реализовать класс Parcelable .Затем в первом упражнении (отправитель) я вызываю метод putExtra () , передавая ему data .Во втором упражнении (получатель) я вызываю метод getSerializableExtra () , чтобы получить данные .
Это работает.Но я читал, что Parcelable лучше для эффективности и т. Д., Поэтому я попытался вызвать putParcelableArrayListExtra () в действии отправителя и метод getParcelableArrayListExtra () в действии получателя.Но когда я делаю это, я получаю красные подчеркивания, указывающие на что-то.как
ArrayList требуется
в первом действии, которое является отправителем У меня есть строка:
Intent intent = new Intent(SenderActivity.this, ReceiverActivity.class);
intent.putParcelableArrayListExtra(SenderActivity.EXTRA_LISTOFSTATEMENTLISTS, dataListOfStatementLists);
В деятельности получателя у меня есть что-н.как:
myList = ( ArrayList<ArrayList<Statement>>) getIntent().getParcelableArrayListExtra(EXTRA_LISTOFSTATEMENTLISTS);
Что мне нужно исправить?Я знаю основы о том, как отправлять объекты Parcelable из одного действия в другое.Но это все что-то вроде
ArrayList<ParcelableObject> data
Я никогда не делал этого для таких вложенных данных, как это
ArrayList<ArrayList<ParcelableObject>>
Я надеюсь, что кто-то может помочь.
Заранее спасибо