How do you save your Activity's state when exiting? Android

前端 未结 2 2008
不知归路
不知归路 2021-01-16 16:53

I have a basic app with text inputs, a spinner input, and a second spinner input whose array depends on a setting changed in the Options menu.

Currently, when I pres

相关标签:
2条回答
  • 2021-01-16 17:35

    You will have to use onPause overridden method on your activity and persist your data somewhere (shared preferences probably). Then onResume you have to read them back from persistance storage and populate your controls.

    onSaveInstanceState and restoreInstanceState is not your friend when you want to handle back or home button presses.

    0 讨论(0)
  • 2021-01-16 17:40

    In your acticity override onSaveInstanceState and onRestoreInstanceState. These methods will allow you to save data into a Bundle You can also save data to Preferences. In all of my applications I override both onSaveInstanceState and onRestoreInstanceState to save and load values to a Bundle. I also save data to preferences in onPause and load preferences in onResume. Also in onCreate(Bundle savedInstanceState) I do a check like this

        if(savedInstanceState != null)
        {
            m_mainView.restoreInstanceState(savedInstanceState);
        }
        else
        {
            m_mainView.loadGameFromDatabase(getPreferences(MODE_PRIVATE));
        }
    

    These practices have always worked for me.

    0 讨论(0)
提交回复
热议问题