2012-05-02 7 views
0

アクティビティが既にスタック内に存在するかどうかをプログラムで確認して再作成するのではなく、再利用する方法はありますか?スタック内の既存のアクティビティを再利用する(メモリ内のアクティビティの重複を避けるため)

ユーザーは、複数のルート経由でアクティビティを入力し、複数のルートを経由して行くことができます。ただし、他のアクティビティを数回クリックしても同じアクティビティに再度アクセスできます。私はそれが既にスタックに存在することを知っているときに、新しいアクティビティの作成に行くことを避けたい。

これは、私の悪いデザイン(これは私の最初のアプリです)になっているかもしれません。しかし、これをどうやって管理できるのだろうと思っていただけですか?これには解決策がありますか?

答えて

1

この種のフリーフォームアクティビティアクセスは、アンドロイドのUIガイドラインで少しぶつかりますが、あなたのインテント内でFLAG_ACTIVITY_REORDER_TO_FRONTを使用して、あなたのアクティビティを前面に改造することができます。

また、FLAG_ACTIVITY_CLEAR_TOPを使用して、アクティビティの上にスタックをクリアすることもできます。

+0

感謝。私はこれらを試してみましょう! –

+1

また、フラグメントを使用しようとします。フラグメントを使用すると、ほとんどのユーザーフレンドリーな方法で複数の画面をナビゲートするためのアプリを構築できます。複数のフラグメントを持つ1つのアクティビティでビジネスケースで十分です。 –

1

すべてのアクティビティがスタックに保存されていると考えてください。たとえば、メインアクティビティを配置してから2回目を呼び出すと、メインアクティビティが終了するとメインが前面に配置されます。アクティビティがどこにあるあなたが知っているのであれば、そう、あなたはそれを再使用することができます;)

が便利であることを願っています:)

関連する問題