2016-09-03 1 views
0

私はActivityを持っています。ここで私は私のユーザーのプロフィールを示しています。ユーザーの連絡先のプロフィールを表示するには、まったく同じActivityを使用します。アクティビティの2つのインスタンスを一番上に置くことは可能ですか?

これは私が今、私の連絡先のランダムなプロファイルを開き、その後自分のプロフィールを開くと、現在の私の連絡先のActivityプロファイルは置き換えられつつある私のmainfest.xml

<activity 
    android:name=".activities.ActivityProfile" 
    android:label="@string/activity_profile" 
    android:launchMode="standard" /> 

Activity構成です私自身のプロフィールとActivity。代わりに、連絡先プロフィールActivityの上にプロフィールActivityの別のインスタンスをプッシュしたいので、自分のプロフィールから戻るときに、私の連絡先のプロフィールがバックスタックから来るようにします。

私のアンドロイドアプリに2つの同等のアクティビティを重ね合わせることはできますか?

私がこのような行為を提供する他のlaunchMode見つけることができませんでした

EDIT。唯一standardsingleTopsingleTasksingleInstance

+0

このシナリオではフラグメントがより適しています。 1つの親アクティビティを持つことができ、異なる引数を持つ同じフラグメントの異なるインスタンスを起動できます。 FragmentTransaction#addToBackStack(String)を使用してスタックに保持することを忘れないでください。 –

+0

アクティビティを使用してこの動作を取得できない場合は、素晴らしい回避策のように聞こえます。 – Mulgard

答えて

1

標準起動モードで同じActivityのインスタンスをスタックすることは非常に可能であるがあります。たとえば、お使いのベースActivityProfileから呼び出すだけ:

Intent intent = new Intent(this, ActivityProfile.class); 
startActivity(intent); 

を新しい活動が開いたら、[戻る]ボタンを押すと、前の活動に戻りますよう、それは、最初のアクティビティを交換していないことを確認することができます。

関連する問題