Есть два способа решения этой проблемы.Первый - добавить в класс Restaurant
, который реализует интерфейс Parcelable
:
class Restaurant implements Parcelable {}
, а затем переопределить метод writeToParcel()
и создать еще один конструктор, подобный этому:
private GeoPoint geoPoint;
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeDouble(geoPoint.getLatitude());
parcel.writeDouble(geoPoint.getLongitude());
}
public Restaurant(Parcel in) {
Double lat = in.readDouble();
Double lng = in.readDouble();
geoPoint = new GeoPoint(lat, lng);
}
Второй подход заключается в сохранении lat
и long
в вашем классе Restaurant
как двойных примитивов, и каждый раз, когда вам нужен объект GeoPoint, создайте его так:
GeoPoint geoPoint = new GeoPoint(restaurant.getLatitude(), restaurant.getLongitudeE6());