Как передать массив объектов Address в другой Acitvity

Я пытаюсь передать массив объектов Address в другое действие через объект Intent.

Поскольку класс Address реализует интерфейс Parcelable , я пытаюсь сделать следующее. Я получил объект List Address из объекта Geocoder, который я преобразовал в массив объектов Address. Затем я помещаю этот массив в Intent и вызываю действие.

final Address[] addresses = addresseList.toArray(new Address[addresseList.size()]);

final Intent intent = new Intent(this, SelectAddress.class);
intent.putExtra(SelectAddress.INTENT_EXTRA_ADDRESSES, startAddresses);

startActivityForResult(intent, REQUEST_CODE_ACTIVITY_SELECT_ADDRESSES);

В другом упражнении я пытаюсь извлечь Address [] из Intent с помощью следующего фрагмента кода. Но вызов последней строки заканчивается ClassCastException Landroid.os.Parcelable .

Bundle bundle = getIntent().getExtras();            
Address[] addresses = (Address[]) bundle.getParcelableArray(INTENT_EXTRA_ADDRESSES);

Что я делаю не так? Как мне получить адрес [].

5
задан Flo 5 September 2010 в 19:58
поделиться