Надеюсь, у вас все хорошо в эти трудные времена.
У меня есть 2 действия, A и B.
A имеет кнопку, которая позволяет намерению go от A к B. В самом B есть диалоговое окно, кнопка cancel
которого позволяет использовать Intent для go из B в A.
Я хотел бы сохранить некоторые данные из A (содержимое 2 EditTexts), поэтому, когда Я возвращаюсь к ИИ, мне не нужно перепечатывать эти EditTexts.
Так что после просмотра документации и небольшого количества StackOverflow я решил go с помощью метода onSavedInstance
, но мне интересно, переход намерения уничтожает Activity и, следовательно, saveInstance, а также ...
Вот мой упрощенный код - Activity A:
public class A extends AppCompatActivity {
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_match);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
if (savedInstanceState != null) {
EditText firstPlayer = findViewById(R.id.firstPlayerName);
EditText secondPlayer = findViewById(R.id.secondPlayerName);
String firstPlayerName = savedInstanceState.getString("firstPlayerName");
String secondPlayerName = savedInstanceState.getString("secondPlayerName");
firstPlayer.setText(firstPlayerName);
secondPlayer.setText(secondPlayerName);
}
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
EditText firstPlayer = findViewById(R.id.firstPlayerName);
EditText secondPlayer = findViewById(R.id.secondPlayerName);
String firstPlayerName = String.valueOf(firstPlayer.getText());
String secondPlayerName = String.valueOf(secondPlayer.getText());
savedInstanceState.putString("firstPlayerName", firstPlayerName);
savedInstanceState.putString("secondPlayerName", secondPlayerName);
}
}
Когда я отладил его, я заметил, что он прошел через onSavedInstance
и он сохранил значения, но однажды в onCreate значение savedInstanceState
будет нулевым.
Любой совет?
Заранее спасибо и позаботьтесь о людях.
Фарес.