Challenge: Saving State

Figure out how to persist your boxes across orientation changes from within your View. This can be done with the following View functions:

    protected fun onSaveInstanceState(): Parcelable
    protected fun onRestoreInstanceState(state: Parcelable)

These functions do not work like Activity and Fragment’s onSaveInstanceState(Bundle). First, they will only be called if your View has an ID. Second, instead of taking in a Bundle, they return and process an object that implements the Parcelable interface.

We recommend using a Bundle as the Parcelable instead of implementing a Parcelable class yourself. Kotlin has a @Parcelize annotation that makes it easier to create a Parcelable class, but the Bundle is a commonly used class in Android and most developers are very familiar with how it works.

Finally, you must also maintain the saved state of BoxDrawingView’s parent, the View class. Save the result of super.onSaveInstanceState() in your new Bundle and send that same result to the superclass when calling super.onRestoreInstanceState(Parcelable).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.248.20