Я сделал простую программу, переопределив каждый из методов жизненного цикла, и все работает, как я ожидал, за исключением onRestoreInstanceState(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()
и пользовательский интерфейс (всего две кнопки) отображаются правильно.
Как это возможно, чтопользовательский интерфейс восстанавливается без вызова onRestoreInstanceState(Bundle savedInstanceState)
?Я только setContentView(R.layout.main)
это onCreate(savedInstanceState)
.Так как же восстановить пользовательский интерфейс без вызова onCreate()
или onRestoreInstanceState()
?
Было бы очень признательно, если бы кто-то пролил некоторый свет на это.
Спасибо.