ここにあるGoogleの推奨事項に従って、上ボタンを実装しました: http://developer.android.com/training/implementing-navigation/ancestral.html
このような:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// This is called when the Home (Up) button is pressed
// in the Action Bar.
case android.R.id.home:
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(
Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
このコードの大きな問題は、MainActivity が新しいインスタンスから開始されることです。MainActivity の以前のインスタンスを再起動せずに開きたいと思います。
このアクティビティは非常に重いため、ユーザーが上ボタンを押すたびに新しいアクティビティを作成したくありません。
フラグ FLAG_ACTIVITY_NEW_TASK を削除しようとし、考えられるすべてのフラグで多くのことを試しましたが、MainACTivity を以前の状態に戻すボタンを作成することに成功しませんでした。
どんな助けでも大歓迎です。