следующий метод onCreate всегда возвращает null, когда дело доходит до savedInstanceState. несмотря на то, что его убедили, его снова вызвали. Я также пробовал, все параметры режима запуска в файле манифеста.
'' '
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.hello_text);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), NewIntent.class);
startActivity(i);
}
});
if (savedInstanceState != null) {
textView.setText(savedInstanceState.getString("key"));
Toast.makeText(this, savedInstanceState.getString("key"), Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(this, "onCreate Called But Nothing saved", Toast.LENGTH_LONG).show();
}
}
' ''
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("key", "VALUE");
//Toast.makeText(this, outState.getString("key"), Toast.LENGTH_LONG).show();
//textView.append(outState.get("key")+"\n");
//Log.d("onSaveInstanceState:" , "onSaveInstanceState()");
}
кроме того, onRestoreInstanceState никогда не вызывался.
@Override
protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
if(savedInstanceState != null) {
textView.append(savedInstanceState.getString("key"));
Toast.makeText(this, "onRestore called", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(this, "onRestore NOT Called", Toast.LENGTH_LONG).show();
}
}