Возможно, мой код правильный, но метод onSaveInstanceState () не работает при повороте экрана. Данные не сохраняются после уничтожения активности (onDestroy () сработало). Однако метод работает после методов onPause () и onStop (). Есть один элемент в деятельности - textView, и я пишу текст, когда методы работают. Есть ошибка? Заранее спасибо.
public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();
textView = findViewById(R.id.textView);
if (savedInstanceState != null)
{
textView.setText(savedInstanceState.getString("saveInstance"));
}
Log.i("lifecycle show", "onCreate() worked");
textView.append("onCreate() worked\n");
}
@Override
protected void onStart() {
super.onStart();
Log.i("lifecycle show", "onStart() worked");
textView.append("onStart() worked\n");
}
@Override
protected void onResume() {
super.onResume();
Log.i("lifecycle show", "onResume() worked");
textView.append("onResume() worked\n");
}
@Override
protected void onRestart() {
super.onRestart();
Log.i("lifecycle show", "onRestart() worked");
textView.append("onRestart() worked\n");
}
@Override
protected void onPause() {
super.onPause();
Log.i("lifecycle show", "onPause() worked");
textView.append("onPause() worked\n");
}
@Override
protected void onStop() {
super.onStop();
Log.i("lifecycle show", "onStop() worked");
textView.append("onStop() worked\n");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i("lifecycle show", "onDestroy() worked");
textView.append("onDestroy() worked\n");
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.i("lifecycle show", "onSaveInstanceState() worked");
textView.append("onSaveInstanceState() worked\n");
outState.putString("savedInstance", textView.getText().toString());
}
}