If screen is rotated, I want to save list of My objects, so I implemented my Object as following:
public class Video implements 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);
}
};
}
And in the MainActivity, i retrieved saved list of objects:
if (savedInstanceState != null) {
ArrayList<Video> saved = savedInstanceState.getParcelableArrayList(VIDEO_LIST);
Toast.makeText(this, "Count: " + saved.size(), Toast.LENGTH_SHORT)
.show();
}
--> The problem is, After rotating screen list of objects is empty: saved.size() = 0 Please tell me why? I how can i resolve it. Thanks