android 在onCreate中,savedInstanceState捆绑包始终为空

mqxuamgl  于 2023-10-14  发布在  Android
关注(0)|答案(1)|浏览(124)

我的要求是在应用程序进入onDestroy之前保存bundle中的一些状态。并使用bundle读取onCreate中的状态并相应地更新状态,我使用下面的代码来保存状态。

override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putInt("SCORE_KEY",10)
}

onSaveInstanceState在我从应用程序按下Home按钮时被调用。但是当我重新启动应用程序时,onCreate被调用,但Bundle为null。

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d("Log", " onCreate savedInstanceState : $savedInstanceState")
}

如何使用savedInstanceState而不获取null

jdzmm42g

jdzmm42g1#

据我所知,你应该在outState.putInt()之后调用super.onSaveInstanceState(),因为**你首先需要添加你的int,然后调用super**来保存状态,像这样:

override fun onSaveInstanceState(outState: Bundle) { 
    outState.putInt("SCORE_KEY",10)
    super.onSaveInstanceState(outState)
}

Source

相关问题