LinkList umieszczony w Intencie extra jest przetwarzany na ArrayList podczas pobierania w następnym działaniu
Zachowanie, które obserwuję w.r.t, przechodząc do danych, które można poddać serializacji, jako zamiar dodatkowy, jest dość dziwne i chciałem tylko wyjaśnić, czy czegoś nie brakuje.
Więc starałem się to zrobićActivtyA
UmieściłemLinkedList
przykład dointent
Stworzyłem do rozpoczęcia następnej aktywności -ActivityB
.
LinkedList<Item> items = (some operation);
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra(AppConstants.KEY_ITEMS, items);
wonCreate
zActivityB
, Próbowałem odzyskaćLinkedList
dodatkowe w następujący sposób -
LinkedList<Item> items = (LinkedList<Item>) getIntent()
.getSerializableExtra(AppConstants.KEY_ITEMS);
Po uruchomieniu tego wielokrotnie otrzymywałemClassCastException
wActivityB
, w linii powyżej. Zasadniczo wyjątek mówił, że otrzymujęArrayList
. Po zmianie kodu powyżej otrzymałemArrayList
zamiast tego wszystko działało dobrze.
Teraz nie mogę po prostu dowiedzieć się z istniejącej dokumentacji, czy jest to oczekiwane zachowanie na Androidzie podczas przekazywania implementacji Listy z serializacją. A może jest coś fundamentalnie złego w / co robię.
Dzięki.