2011-11-14 10 views
1

簡単な例を挙げると、HomeActivityを提示するアプリケーションがあります。このアクティビティはRssListActivity(RSSアイテムのリスト)につながり、詳細なビューを提供する3番目のItemDetailActivityにつながります私のRSSアイテムの一部の通知は、定義された記事でItemDetailActivityが開かれることがあります。アクティビティを開いた後に通常のワークフローを復元する

私のポイントは、通常のワークフローを復元することです。つまり、ユーザーが戻るボタンをクリックすると、彼はRssListActivityに戻り、もう一度戻るボタンをクリックするとHomeActivityに戻ります。

もちろん、これらの各アクティビティでカスタムonKeyDown()をオーバーライドする必要はありません。

答えて

0

あなたが確認するという流れの中:

Home > Task1 > Task2

その通知を開始するために呼び出された場合、「タスク1」、その後backstack次のようになります。

Home > Task2 > Task1

あなたはを追加することによってこれを行うことができますタスク1を呼び出すインテントにを追加します。アクティビティ(実行中の場合)をBackstackの先頭に並べ替える必要があります。

+0

ありがとうございます!目標を達成するための正しいフラグは、Intent.FLAG_ACTIVITY_CLEAR_TOPです。 – AsTeR

0

私はあなたが活動の順序を変更してはいけないと考えています。ユーザーにナビゲーションの2つの方法を伝える方が良いでしょう。あなたのアプリケーションが慣れ親しんだAndroidの方法で、アプリケーションを保持する必要のある種類の階層を持っている場合は、戻るボタン(階層的な方法)でアクションバーを持つことができます。あなたが望むことをする唯一の方法は、onKeyDownメソッドをオーバーライドすることです。私が正しくあなたの質問を理解してきましたうまくいけば

関連する問題