アクティビティが3つあります。彼らはお互いを立ち上げています。アクティビティが終了した後にインテントエクストラのデータを取得
アクティビティA> B> Cの
それらの各々は、次のアクティビティに余分をintent.put使用してデータを渡しています。
問題がある - 私は、アクティビティCに活動Bから移動して戻ってクリックしたときに - 私は、アクティビティBに行くが、回避策として活動A.
// activity A starting activity B
Intent intent = new Intent(MainActivity.this, ChaptersActivity.class);
intent.putExtra(CHAPTER_NAME, R.string.chapter_1_title);
startActivity(intent);
// Activity B saving data from intent extra in bundle and starting activity
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(MainActivity.CHAPTER_NAME, getIntent().getExtras().getInt(MainActivity.CHAPTER_NAME));
}
Intent intent = new Intent(this, ChapterDetails.class);
startActivity(intent);
// after going back from activity C to activity B by pressing back button - method onCreate is called, but Bundle onSaveInstanceState is null. As well as getIntent() is null.
から意図から元々来たデータを復元することはできません私は、アクティビティBからCに移行するときにstartActivityForResultを考えるか、永続ストレージを使用します。しかし、これが正しい方法であるかどうかは分かりません。任意のヒント?
を作るために、私の活動Cでコードを書く必要があるが、ここで – UltimateDevil
をあなたのコードを投稿ここ – UltimateDevil
をあなたのコードを投稿あなたはSharedPreferencesにデータを格納することができ、またはデータベース(SQLite)内にあり、アプリケーション全体に渡ってデータがあります – Fustigador