MainActivity が 1 つあり、onCreate() メソッドで以下のコードを定義しました。意図は、MainActivity が余分な文字列 "EXIT" を取得したときに Toast メッセージを表示することです。
Intent current = getIntent();
if (current !=null && current.getStringExtra("EXIT") != null) {
Toast.makeText(this, "exiting", Toast.LENGTH_LONG).show();
}
この MainActivity は、次のようなボタンを押すと別のアクティビティ「DayOne」を開始します。
public void processGo(View v){
Intent i = new Intent(MainActivity.this,DayOne.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
MainActivity.this.startActivity(i);
}
余分な文字列「EXIT」を追加した後、「DayOne」から MainActivity に戻ります。これは onOptionsItemSelected(MenuItem item) メソッド内で行っています:
public boolean onOptionsItemSelected(MenuItem item){
if(item.getTitle().equals("Exit")){
Intent i = new Intent(DayOne.this,MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.putExtra("EXIT", "EXIT");
startActivity(i);
finish();
}
return super.onOptionsItemSelected(item);
}
問題は、MainActivity が DayOne から余分な文字列「EXIT」で呼び出される場合です。MainActivity で定義されたトースト メッセージが表示されません。ここで何が欠けているか間違っていますか?
どんな助けにも感謝します。