我在让这个工作上遇到了问题:
1)我有一个自定义类,实现了Parcelable接口:
2)我有一个包含ArrayList listItems的片段,我想将其发送到另一个活动:
3)这是我在启动的活动中检索ParcelableArrayListExtra的方法:
当我尝试检索额外信息时,我遇到了NullPointerException。我做错了什么?谢谢你的帮助!
public class CityCoordinates implements Parcelable {
private double latitude;
private double longitude;
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public CityCoordinates(double latitude, double longitude) {
this.latitude = latitude;
this.longitude = longitude;
}
public CityCoordinates(Parcel in) {
latitude = in.readDouble();
longitude = in.readDouble();
}
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
dest.writeDouble(latitude);
dest.writeDouble(longitude);
}
public static final Parcelable.Creator<CityCoordinates> CREATOR = new Parcelable.Creator<CityCoordinates>() {
public CityCoordinates createFromParcel(Parcel in) {
return new CityCoordinates(in);
}
public CityCoordinates[] newArray(int size) {
return new CityCoordinates[size];
}
};
2)我有一个包含ArrayList listItems的片段,我想将其发送到另一个活动:
ArrayList<CityCoordinates> listItems = new ArrayList<>();
...
Intent intent = new Intent(getActivity(), MapActivity.class);
intent.putParcelableArrayListExtra("key", listItems);
startActivity(intent);
3)这是我在启动的活动中检索ParcelableArrayListExtra的方法:
public class MapActivity extends ActionBarActivity {
...
ArrayList<CityCoordinates> cityCoordinatesList = getIntent().getParcelableArrayListExtra("key");
当我尝试检索额外信息时,我遇到了NullPointerException。我做错了什么?谢谢你的帮助!