1

私はピザ注文アプリを構築しています。ユーザーがカートにアイテムを追加すると、アイテム カテゴリに移動して新しいアイテムを閲覧/追加するオプションが与えられます。私がやりたいことは次のとおりです。

メイン画面 > カテゴリ一覧(初出) > そのカテゴリのピザ > ピザ詳細 > ショッピングカート > カテゴリ一覧(2回目).

アイテムをカートに追加した後、ユーザーが [戻る] ボタンをタッチした場合に、CategoryList (最初の外観) に戻る必要があるように、Activity スタックを消去する必要があります。「そのカテゴリのピザ > ピザの詳細 > ショッピング カート」を消去する必要があります。彼/彼女が再びタッチバックした場合、彼/彼女はメイン画面にいるはずです。

どうすればこれを達成できますか?

4

1 に答える 1

1

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOPintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
を使用するか、
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

参照して最新のアクティビティをプッシュしてみて ください。

次に、新しいアクティビティの下にあるアクティビティのスタックをクリアします。


さらに、バックイベントをオーバーライドすることもできます:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

Android: Clear Activity Stack または How to clear the Android Stack of activities?も参照 してください。

于 2012-06-07T13:32:14.703 に答える