APIドキュメントによるGeopoint
と、緯度と経度の2つのパラメーターを持つコンストラクターがあります。両方の属性にゲッターがあります。したがって、それらを取得してに配置するBundle
か、クラスを拡張してパーセル可能にするか、ラッパークラスを作成します。どちらのソリューションも問題なく機能します。
これを試してみてください、私はそれがうまくいくと思います。
public class ParcelableGeoPoint implements Parcelable {
private GeoPoint point;
public ParcelableGeoPoint(int lat, int lon){
point = new GeoPoint(lat, lon);
}
public ParcelableGeoPoint(Parcel in){
int[] data = new int[2];
in.readIntArray(data);
point = new GeoPoint(data[0], data[1]);
}
public int describeContents(){
return 0;
}
public GeoPoint unwrap() {
return point;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeIntArray(new int[] {point.getLat(), point.getLon()});
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public ParcelableGeoPoint createFromParcel(Parcel in) {
return new ParcelableGeoPoint(in);
}
public ParcelableGeoPoint[] newArray(int size) {
return new ParcelableGeoPoint[size];
}
};
}
次に、それをあなたの中に入れBundle
ますbundle.putParcelable("MYPOINT", geopointParcelable)