방향 변경 및 조각 내 데이터 손실 문제가 있습니다. 그래서 기본적으로 그 클래스의 parcelable 클래스와 배열을 가지고 있지만 어떤 이유로 그것은 나에게 오류 제공 : 분할 가능 배열 saveState 잘못된 인수
소포 클래스 :
: 나는대로 목록을 넣어 내 조각에서public final class WeatherData implements Parcelable {
public static final String CELSIUS_PLACEHOLDER = " °C";
public static final String PASCAL_PLACEHOLDER = " hPa";
public static final String HUMIDITY_PERCENT_PLACEHOLDER = " %";
public final String tempMin;
public final String tempMax;
public final String cityName;
public final String description;
public final String humidity;
public final String pressure;
public final String icon;
public final String date;
public WeatherData(final String tempMin, final String tempMax, final String cityName, final String description, final String humidity, final String pressure,
final String icon, final String date) {
this.tempMin = tempMin;
this.tempMax = tempMax;
this.cityName = cityName;
this.description = description;
this.humidity = humidity;
this.pressure = pressure;
this.icon = icon;
this.date = date;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(final Parcel dest, final int flags) {
dest.writeString(this.tempMin);
dest.writeString(this.tempMax);
dest.writeString(this.cityName);
dest.writeString(this.description);
dest.writeString(this.humidity);
dest.writeString(this.pressure);
dest.writeString(this.icon);
}
public WeatherData(final Parcel in) {
this.tempMin = in.readString();
this.tempMax = in.readString();
this.cityName = in.readString();
this.description = in.readString();
this.humidity = in.readString();
this.pressure = in.readString();
this.icon = in.readString();
this.date = in.readString();
}
public static final Parcelable.Creator<WeatherData> CREATOR = new Parcelable.Creator<WeatherData>() {
@Override
public final WeatherData createFromParcel(Parcel source) {
return new WeatherData(source);
}
@Override
public final WeatherData[] newArray(int size) {
return new WeatherData[size];
}
};
그것은 WeatherData 클래스에 Parcelable,
extend
을 구현
final List<WeatherData> weatherDataList = new ArrayList<>();