Это кодНе удается передать ArrayList <Parcelable> к деятельности
ArrayList<MyObject> list = new ArrayList<MyObject>();
list.add(new MyObject());
Intent intent = new Intent(this, ReceiverActivity.class);
intent.putExtra("list", list);
startActivity(intent);
ReceiverActivity
List<MyObject> list = (List<MyObject>)getIntent().getExtras().getParcelable("list");
Здесь список пустым. Также это не работает:
List<MyObject> list = (List<MyObject>)getIntent().getExtras().getSerializable("list");
MyObject is Parcelable, я внедрил все необходимые методы. Я предполагаю, что эта реализация не является проблемой, потому что в противном случае я бы воспользовался другими исключениями. Но я ничего не получаю, кроме того, что список имеет значение null.
Заранее спасибо ...
Теперь я нашел это:
List<Parcelable> list = (List<Parcelable>)getIntent().getParcelableArrayListExtra("list");
, который должен быть использован в деятельности приемника, но как я могу отправить его и как я могу получить List<MyObject>
от List<Parcelable>
?
Метод getParcelableArrayListExtra дает мне ArrayList как получить ArrayList ? Похоже, мне нужно наложить элементы или создать новую копию с типом ArrayList ? –
Ixx
Ваши объекты должны быть реализованы. Поэтому они должны делать штраф – Akhil
Невозможно отбросить их, потому что они находятся в списке, а дженерики не ковариантны. – Ixx