Salvarea Stării
Pentru a salva starea, cum ar fi textul completat de utilizator intr-un
obiect de tip EditText
din interfata grafica vom suprascrie metoda onSaveInstanceState()
Ea primește ca parametru un obiect de tip Bundle
, care este un fel de hashmap, în care vor
fi plasate datele din cadrul activității care se doresc a fi salvate,
acestea putând fi identificate prin intermediul unei chei (de tip
String
).
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
/* Trebuie sa apelam metoda din clasa de baza întrucât API-ul Android
furnizează o implementare implicită pentru salvarea stării unei
activități, parcurgând ierarhia de componente grafice (obiecte de tip
`View`) care au asociat un identificator (`android:id`), folosit drept
cheie în obiectul `Bundle`. Astfel, de regulă, pentru elementele
interfeței grafice, nu este necesar să se mențină starea, acest lucru
fiind realizat în mod automat, cu respectarea condiției menționate.
super.onSaveInstanceState(savedInstanceState); */
/* Determian o referinta pentru obiectul de tip EditText din interfata grafica
cu ID-ul username_edit_text */
EditText usernameEditText = (EditText)findViewById(R.id.username_edit_text);
savedInstanceState.putString("SOME_STRING_USED_AS_KEY", usernameEditText.getText().toString());
}
override fun onSaveInstanceState(savedInstanceState: Bundle) {
/* Trebuie sa apelam metoda din clasa de baza întrucât API-ul Android
furnizează o implementare implicită pentru salvarea stării unei
activități, parcurgând ierarhia de componente grafice (obiecte de tip
`View`) care au asociat un identificator (`android:id`), folosit drept
cheie în obiectul `Bundle`. Astfel, de regulă, pentru elementele
interfeței grafice, nu este necesar să se mențină starea, acest lucru
fiind realizat în mod automat, cu respectarea condiției menționate.
super.onSaveInstanceState(savedInstanceState); */
super.onSaveInstanceState(savedInstanceState)
/* Determian o referinta pentru obiectul de tip EditText din interfata grafica
cu ID-ul username_edit_text */
val usernameEditText = findViewById(R.id.username_edit_text)
savedInstanceState.putString("SOME_STRING_USED_AS_KEY", usernameEditText.text.toString())
}