mShowAnswerButton = (Button) findViewById(R.id.show_answer_button);
mShowAnswerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mAnswerIsTrue) {
mAnswerTextView.setText(R.string.true_button);
} else {
mAnswerTextView.setText(R.string.false_button);
}
setAnswerShownResult(true);
}
});
}
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
// получаем ссылку на поле ввода текста
// переменная которую сохраняем и под каким именем, чтобы потом прочитать
savedInstanceState.putString(CHEAT_INDEX, String.valueOf(mAnswerTextView.getText()));
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mAnswerTextView.setText(savedInstanceState.getString(CHEAT_INDEX));
// setAnswerShownResult(true);
}
private void setAnswerShownResult(boolean isAnswerShown) {
Intent data = new Intent();
data.putExtra(EXTRA_ANSWER_SHOWN, isAnswerShown);
setResult(RESULT_OK, data);
}
При повороте экрана активность останавливается и запускается снова, поэтому восстаналивается положение как после выполнения onCreate(). Чтобы восстановить текущее состояние экрана (с нажатыми радиокнопками, добавленными элементами и т.д.) нужно его предварительно сохранить. Например, так:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// переменная которую сохраняем и под каким именем, чтобы потом прочитать
savedInstanceState.putString("ButtonText", mAnswerTextView.getText());
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mAnswerTextView.setText(savedInstanceState.getString("ButtonText"));
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости