Я пытаюсь в течение нескольких часов сохранять и восстанавливать TextView и кнопки. Кажется, что я не могу сохранить TextView, потому что «outState» требует String.
Я сделал игру TicTacToe, но я хочу сохранить все вещи, когда ориентация – «пейзаж»,
Вот часть того, что я пытаюсь сделать:
private Button lesBoutons[]; private Button rejouer; private Jeu jeu; private TextView leTexte; private int[] tabGagne; public boolean fini; @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.PutString("savText", leTexte); //TextView savTexte = leTexte; //String phrase=leTexte.toString(); //outState.putString("TEST", phrase); //leTexte.getResources(); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); // leTexte.setText(savedInstanceState.getString("TEST")); }
Как сохранить этот TextViews и все кнопки?
Сделайте leTexte.getText()
. Это даст вам текст, но сначала убедитесь, что вы сначала инициализируете объект TextView.
Android вызывает onSaveInstanceState()
прежде чем он уничтожит вашу активность, чтобы вы могли сохранять данные о состоянии приложения. Затем вы можете восстановить состояние во время onCreate()
или onRestoreInstanceState()
.
@Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putString("savText", leTexte.getText().toString()); //save the state //1st parameter is the key //2nd parameter is the value } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); leTexte.setText(savedInstanceState.getString("savText")); //restore it using the key }
Также посмотрите на ссылку ниже.
http://developer.android.com/guide/topics/resources/runtime-changes.html