Addressオブジェクトの配列を Intent オブジェクトを介して別の Activityに渡そうとしています。
Address クラスはParcelableインターフェースを実装するので、次のことを試みます。Geocoder オブジェクトから List Address オブジェクトを取得し、これを Address オブジェクトの配列に変換しました。次に、この配列をインテントに入れ、アクティビティを呼び出します。
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[] を取得しようとしています。しかし、最後の行の呼び出しは ClassCastException で終了しますLandroid.os.Parcelable
。
Bundle bundle = getIntent().getExtras();
Address[] addresses = (Address[]) bundle.getParcelableArray(INTENT_EXTRA_ADDRESSES);
私は何を間違っていますか?Address[] を取得するにはどうすればよいですか。