ActivityFolder というアクティビティを呼び出す ActivityLanding があります。putExtra("folderId", "...") を使用した意図で (folderId が最良の例ではないことはわかっています)
それを変数に保存して問題なく使用できますが、メモリを節約するために最終的にアクティビティが強制終了された場合、folderId が失われる可能性があります。私のアクティビティが再び開始されると、インテントからの「エクストラ」は保持されますか? 以下のコードはうまくいきますか?
@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
}
保存された場合、 ASyncTaskを使用して変更しても問題なく動作しますか?
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
}
}