Restaurarea Stării
Încărcarea conținutului din obiectul de tip Bundle
(în vederea
restaurării stării) poate fi realizată:
- în metoda
onCreate()
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lifecycle_monitor);
EditText usernameEditText = (EditText)findViewById(R.id.username_edit_text);
if ((savedInstanceState != null) && (savedInstanceState.getString(Constants.USERNAME_EDIT_TEXT) != null)) {
usernameEditText.setText(savedInstanceState.getString(Constants.USERNAME_EDIT_TEXT));
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_lifecycle_monitor)
val usernameEditText = findViewById(R.id.username_edit_text)
savedInstanceState?.getString(Constants.USERNAME_EDIT_TEXT)?.let { username ->
usernameEditText.setText(username)
}
}
- prin intermediul metodei
onRestoreInstanceState()
, apelată în mod automat între metodeleonStart()
șionResume()
; această abordare permite separarea dintre codul folosit la crearea ferestrei și codul utilizat la restaurarea stării unei ferestre
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
EditText usernameEditText= (EditText)findViewById(R.id.username_edit_text);
if (savedInstanceState.getString(Constants.USERNAME_EDIT_TEXT) != null) {
usernameEditText.setText(savedInstanceState.getString(Constants.USERNAME_EDIT_TEXT));
}
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
val usernameEditText = findViewById(R.id.username_edit_text)
savedInstanceState.getString(Constants.USERNAME_EDIT_TEXT)?.let { username ->
usernameEditText.setText(username)
}
}