私のワークフローは次のとおりです。
LoginActivity -> ActivityB -> ActivityC -> ActivityD
LoginActivity から ActivityD にデータを渡したいのですが、ActivityD には直接行きません。つまり、LoginActivity から ActivityD にデータを渡したいのですが、ActivityD にアクセスしてデータを取得する前に、ActivityB と ActivityC に移動します。
これは可能ですか?
あるアクティビティから別のアクティビティにデータを渡す方法はわかっています。コードは次のとおりです。
Intent i = new Intent(getApplicationContext(), AnotherActivity.class);
i.putExtra("key", (int)1);
i.putExtra("something", something);
startActivity(i);
そしてAnotherActivity
、次のようにしてデータを取得します。
Bundle extras = getIntent().getExtras();
if(extras !=null)
{
String var = extras.getString("something");
}
しかし、アクティビティに直接行くのを遅らせたい場合、これはうまくいきません。それで、私が取り出しstartActivity(i);
て別の活動に行くとします。最後のアクティビティでデータを取得しようとすると、プログラムがクラッシュします。古き良き NullPointerExeption がポップアップします。
私が説明したことを行う方法を知っている人はいますか?あるアクティビティから別のアクティビティにデータを取得しますが、すぐにそのアクティビティに移動 (または開始) しませんか?