Если экран поворачивается, я хочу, чтобы сохранить список моих объектов, поэтому я реализовал свой объект следующим образом:savedInstanceState.getParcelableArrayList() возвращают пустой список
общественного класса Video реализует Serializable, Parcelable {
private String mTitle;
private String mVideoID;
private String mThumbUrl;
public Video(String title, String id, String thumbUrl) {
this.mTitle = title;
this.mVideoID = id;
this.mThumbUrl = thumbUrl;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
dest.writeString(mTitle);
dest.writeString(mVideoID);
dest.writeString(mThumbUrl);
}
public Video(Parcel in) {
// TODO Auto-generated constructor stub
mTitle = in.readString();
mVideoID = in.readString();
mThumbUrl = in.readString();
}
public static final Parcelable.Creator<Video> CREATOR = new Parcelable.Creator<Video>() {
@Override
public Video[] newArray(int size) {
// TODO Auto-generated method stub
return new Video[size];
}
@Override
public Video createFromParcel(Parcel in) {
// TODO Auto-generated method stub
Log.e("CREATOR", in.readString());
return new Video(in);
}
};
}
И в MainActivity, я извлекаться сохраненный список объектов:
if (savedInstanceState != null) {
ArrayList<Video> saved = savedInstanceState.getParcelableArrayList(VIDEO_LIST);
Toast.makeText(this, "Count: " + saved.size(), Toast.LENGTH_SHORT)
.show();
}
-> Проблема в том, что после поворота экрана список объектов пуст: saved.size() = 0 Скажите, пожалуйста, почему? Я как могу это решить. Спасибо
Да, я сохранил состояние в onSaveInstanceState, но я использовал: outState.putParcelableArrayList (VIDEO_LIST, mVideos); – Binngokute
Посмотрите на обновление моего ответа. – FelipeJM
Проблема даже сохраняетсяInstanceState NOT NULL, но savedInstanceState.getParcelableArrayList (VIDEO_LIST) возвращает пустой список – Binngokute