I am trying to save my custom view (DrawView) on Orientation change. The code works perfectly fine when the orientation changes but when i minimize the screen or press home button on my device I get the stack overflow error... Can you please help with this? thanks..
My main activity implements these two methods
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelable("drawView", drawView);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
drawView = savedInstanceState.getParcelable("drawView");
super.onRestoreInstanceState(savedInstanceState);
}
My custom view: DrawView implements Parcelable and overrides these methods.
public class DrawView extends View implements OnTouchListener, Parcelable {
.........
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeParcelable(this, i);
}
public void readFromParcel(Parcel in) {
DrawView object1 = in.readParcelable(DrawView.class.getClassLoader());
}
The exception I am getting is: E/AndroidRuntime: FATAL EXCEPTION: main java.lang.StackOverflowError DrawView.writeToParcel(DrawView.java:261) at android.os.Parcel.writeParcelable(Parcel.java:1254) DrawView.writeToParcel(DrawView.java:261) at android.os.Parcel.writeParcelable(Parcel.java:1254) DrawView.writeToParcel(DrawView.java:261) at android.os.Parcel.writeParcelable(Parcel.java:1254)