混淆Android活动生命周期bahavior
我做了一个简单的程序,覆盖了每个生命周期方法,一切都按照我的预期工作,除了混淆Android活动生命周期bahavior,android,android-activity,lifecycle,Android,Android Activity,Lifecycle,我做了一个简单的程序,覆盖了每个生命周期方法,一切都按照我的预期工作,除了onrestoreinnstancestate(Bundle savedInstanceState) 我认为这个方法是错误的 @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); Toast.ma
onrestoreinnstancestate(Bundle savedInstanceState)
我认为这个方法是错误的
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Toast.makeText(getBaseContext(), "onRestoreInstanceState - Activity1 ", Toast.LENGTH_SHORT).show();
}
但它从未被呼叫过
我也覆盖了onSaveInstanceState(Bundle outState)
,我可以看到系统调用它,但从未覆盖过onRestoreInstanceState(Bundle savedInstanceState)
。当我按下后退按钮左右时,我可以看到系统调用了onRestore()
、OnStart()
和onResume()
,并且UI(只有两个按钮)显示正确
在不调用RestoreInstanceState(Bundle savedInstanceState)的情况下,如何还原UI?我只做setContentView(R.layout.main)
是onCreate(savedInstanceState)
。那么,它如何在不调用onCreate()
或onRestoreInstanceState()的情况下恢复UI呢
如果有人能解释一下,我会很感激的
谢谢。这里的文档有点混乱,但我认为这种方法只是作为onCreate处理存储状态的一种替代方法,在循环的后期发生。只有当活动被销毁并使用state重新创建时,才会调用它;这通常发生在方向更改期间。它不打算在活动之间的普通转换期间处理状态
另见