![](/img/trans.png)
[英]Android - savedInstanceState can be restored only in onRestoreInstanceState() not in onCreate()
[英]Should I restore savedinstancestate in onCreate or in onRestoreInstanceState?
我有一个活动开始一些其他活动的结果,所以当结果返回时,活动可能已经或可能没有被销毁和重新创建。
我重写了onSaveInstanceState,以便添加需要保留和恢复的数据。
当活动被销毁并重新创建时,onCreate将传递savedInstanceState包; 而且还调用onRestoreInstanceState()并传递相同的bundle。
那么我应该在哪里放置从包中提取数据的代码并恢复状态? 在onCreate或onRestoreInstanceState中? 保证后者始终被称为?
是否有可能在不调用onCreate的情况下调用onRestoreInstanceState? (例如,如果活动停止并重新启动但未被销毁和重新创建)?
“而不是在onCreate()期间恢复状态,你可以选择实现onRestoreInstanceState(),系统在onStart()方法之后调用。只有当存在要恢复的保存状态时,系统才会调用onRestoreInstanceState(),所以你不要需要检查Bundle是否为NULL“
以下链接清楚地解释了重启活动。
Android在onStart()和onResume()生命周期方法之间调用onRestoreInstanceState()方法。因此,为了恢复活动状态,只需实现onRestoreInstanceState()方法恢复活动状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.