アクティビティインスタンスA1、B1、A2、B2、アクティビティA、B、CのC1がスタック内にあるとします。アクティビティインスタンスB1をC1からどのようにトラバースできますか?スタック内のアクティビティ間の移動
一般的に、B1とC1との間には「n」個のアクティビティが存在します。
私はC1からBの新しいインスタンスを作成したくありません。
アクティビティインスタンスA1、B1、A2、B2、アクティビティA、B、CのC1がスタック内にあるとします。アクティビティインスタンスB1をC1からどのようにトラバースできますか?スタック内のアクティビティ間の移動
一般的に、B1とC1との間には「n」個のアクティビティが存在します。
私はC1からBの新しいインスタンスを作成したくありません。
これは実際Android用の非常に悪いアーキテクチャです。 Activity
に複数のインスタンスを作成する場合は、具体的に対処する方法はありません。たとえば、「ActivityB
の最初のインスタンスに戻る」などです。 Androidはこのように設計されていません。
Activity
の複数のインスタンスを作成しないでください。同じインスタンスを使用し、複数のインスタンスの「錯覚」を作成するのは、基になるデータを交換して、ディスプレイに状態遷移を追加して、別のActivity
を開始するように見えるようにすることです。
もう1つの解決策は、多くのstartActivityForResult()
を使用して、次に何をするかについての情報をAxctivity
に返すことです。詳細については
は、(これらの質問は、具体的FLAG_ACTIVITY_REORDER_TO_FRONT
の使用についてであっても、問題は基本的には同じです)を参照してください。
'同じインスタンスを使用し、基になるデータを交換することによって複数のインスタンスの「錯覚」を作成する方が良いです - どのように同じアクティビティを使用できますか?説明できますか?ありがとう。 – tpk
私があなたを助けるためには、同じ「アクティビティ」の複数のインスタンスを作成する理由を説明する必要があります。アプリ内でのナビゲーションの例を挙げてください。コメントでこれをしないでください。元の投稿を編集し、最後に詳細を追加するだけです。 –
私はちょうど積み重ねられたトラバースについて興味がありました。だから私はアプリでナビゲーションの詳細を提供することはできません。シナリオを考えてみましょう。 – tpk
Flags with Intentを使用します。
公式ドキュメント:https://developer.android.com/guide/components/tasks-and-back-stack.html
はテント
FLAG_ACTIVITY_CLEAR_TOP
と一緒にフラグを渡しまた、あなたがあなたの必要性に応じて、単一の意向に複数のフラグをPaaSをすることができます。
これが役に立ちます。
これは実際には動作しません。タスクはB1にではなくB2にクリアされます。 OPは、スタック内の各アクティビティの複数のインスタンスを持ち、特定のアクティビティに戻ることができるようにしたいと考えています。 –
説明できますか? – Krish
'ViewPager'を使用https://developer.android.com/reference/android/support/v4/view/ViewPager.html –
@WaqasRajaアクティビティ間をどのようにトラバースするか尋ねました。タブを使用してアクティビティをトラバースしません。したがって、答えはViewPagerではありません – tpk