我写了一个代码来从gpx文件中绘制路径。如果用户转动智能手机,路径将被清除,然后我创建了ArrayList<MyLatLng>
,其中每个MyLatLng
对象都是:
public class MyLatLng implements Parcelable {
private double latitude;
private double longitude;
public MyLatLng(double lat, double lon) {
latitude = lat;
longitude = lon;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int arg) {
parcel.writeDouble(latitude);
parcel.writeDouble(longitude);
}
public static final Parcelable.Creator<MyLatLng> CREATOR = new Creator<MyLatLng>() {
@Override
public MyLatLng createFromParcel(Parcel parcel) {
double latitude = parcel.readDouble();
double longitude = parcel.readInt();
return new MyLatLng(latitude, longitude);
}
@Override
public MyLatLng[] newArray(int size) {
return new MyLatLng[size];
}
};
//Metodi get/set
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
}
使用onSaveInstanceState
我避免取消路径。但是这种方法在我的代码中引入了非优雅,因为每次我需要从LatLng
对象创建一个MyLatLng
对象。你有什么建议吗?非常感谢:)