J'ai ActivityLanding qui appelle une activité appelée ActivityFolder. Dans l'intention j'ai utilisé putExtra ("folderId", "...") (je sais que folderId n'est pas le meilleur exemple)Question sur le cycle de vie de l'activité: onNewIntent/onSaveInstanceState
Je peux stocker cela à une variable et l'utiliser très bien mais si finalement mon activité est tuée pour économiser de la mémoire, je peux perdre le folderId. Lorsque mon activité sera à nouveau lancée, les «extras» seront-ils préservés? Le code ci-dessous fonctionnera-t-il correctement?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.folder);
onNewIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
String folderId = intent.getStringExtra("folderId"); // Might not be all digits
// load from server and fill in the blanks
}
Si elle ne se conserve ,, puis puis-je changer à l'aide AsyncTask et il fonctionne toujours bien?
private class MyAsyncTask extends AsyncTask<String, Object, HashMap<String, Object>> {
.......................................
.......................................
.......................................
@Override
protected void onPostExecute(HashMap<String, Object> result) {
if (this.isCancelled())
return;
.....................
.....................
.....................
getIntent().putStringExtra("folderId", ""); // The server wants us to change what folder we are looking at
}
}