Я хочу, чтобы отправить список Parcelable объектов к деятельности, но я получаю пустые объекты при получении объектов из свертка деятельностиПрием нуля Parcelable объектов из Bundle
У меня есть метод, который начинает деятельность, отправка список Parcelable объектов в пачке:
public void openActivity(){
ArrayList<ReportErrorVO> reports = new ArrayList<>();
ReporteErrorVO reportError = new ReporteErrorVO();
reportError.setTituloError("Error title 1");
reportError.setDescripcionError("Error description 1");
reports.add(reportError);
reportError = new ReporteErrorVO();
reportError.setTituloError("Error title 2");
reportError.setDescripcionError("Error description 2");
reports.add(reportError);
Intent intent = new Intent(this, ReporteErrorActivity.class);
Bundle args = new Bundle();
args.putParcelableArrayList("reports", reports);
intent.putExtras(args);
startActivity(intent);
}
Мой Parcelable класс:
public class ReportErrorVO implements Parcelable {
private String titleError;
private String descriptionError;
public ReportErrorVO(Parcel in) {
titleError = in.readString();
descriptionError = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(titleError);
dest.writeString(descriptionError);
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public ReportErrorVO createFromParcel(Parcel in) {
return new ReportErrorVO(in);
}
public ReportErrorVO[] newArray(int size) {
return new ReportErrorVO[size];
}
};
@Override
public int describeContents() {
return 0;
}
}
И деятельность, что называется, я получил:
@Override
protected void onCreate(Bundle savedInstanceState) {
...//Activity initializer code..
Bundle bundle = getIntent().getExtras();
ArrayList<ReportErrorVO> reports = new ArrayList<>();
try {
reports = bundle.getParcelableArrayList("reports");
}catch (Exception ex){
System.out.println(ex.getMessage());
}
}
Проблема заключается в том, что при анализе массива отчетов я обнаружил, что у меня есть размер = 2, у меня есть второй элемент null (позиция позиции = 1). Обратите внимание, что кулак этого списка отлично. Что не так?