У меня есть два разных вида деятельности, в первом я ввожу некоторую информацию в некоторые EditTexts, затем перехожу во второе действие, но когда я возвращаюсь, текст, который был на EditTexts в первом действии, прошло.Bundle savedInstanceState всегда null
Вот OnCreate() для первого действия:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_frm_recetas);
txtClient = (EditText) findViewById(R.id.txtNombreCliente);
if(savedInstanceState != null){
String client = savedInstanceState.getString("Client");
txtClient.setText(client);
}
}
Я использую onSaveInstanceState метод для сохранения инфо-
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
String x = txtClient.getText().toString();
savedInstanceState.putString("Client", x);
super.onSaveInstanceState(savedInstanceState);
}
При выполнении отладки, я могу видеть savedInstanceState Bundle действительно был заполнен методом onSaveInstanceState, но в OnCreate в show null.
Возможно, мне нужно добавить что-то во вторую активность? В настоящее время у меня нет ничего, кроме кнопки, которая возвращает меня к первой активности.
Что произойдет, если вы вызываете 'super.onSaveInstanceState (savedInstanceState)' в качестве первой строки в вашем методе 'onSavedInstanceState'? – Phil
По-прежнему возвращает null – Oscar
«текст, который был на EditTexts в первом действии, ушел» - единственный способ, который может произойти, - это либо очистить их, либо заменить их новыми экземплярами, либо если первое действие было уничтожено для некоторая причина. Вы можете определить последний случай, увидев, вызвана ли 'onDestroy()'. – CommonsWare