我正在尝试通过 Intent 对象将一组Address对象传递给另一个 Activity。
由于 Address 类实现Parcelable接口,我尝试执行以下操作。我从 Geocoder 对象中获得了 List Address 对象,我将其转换为 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);
在另一个活动中,我尝试使用以下代码从 Intent 中检索 Address[]。但是最后一行的调用以 ClassCastException 结束Landroid.os.Parcelable
。
Bundle bundle = getIntent().getExtras();
Address[] addresses = (Address[]) bundle.getParcelableArray(INTENT_EXTRA_ADDRESSES);
我究竟做错了什么?我如何必须检索地址 []。