2011-07-23 37 views
0

どのようにしてアクティビティを簡単に切り替えることができますか。例えば、私のアプリケーションでは、私が持っている:アクティビティの切り替え

Activity1 - > Activity2 - > Activity3 - > Activity4 - >活動5

アクティビティ2の状態を維持しながら、私が活動5からのアクティビティ2に戻ることができますどのように?私は新しい意思を起動しようとすると、私は状態およびアクティビティ2内部のエキストラを失う...

public void onClick(DialogInterface view, int button) { 
      switch (button) { 
      case DialogInterface.BUTTON_POSITIVE: 


         Intent i = new Intent(activity,AccueilFournisseur.class); 
         activity.startActivity(i);*/ 
         break: 
        } 

あなたの助け

答えて

0

アクティビティは、アンドロイドOSによってスタック方式で管理されます。現在のアクティビティを終了すると(finishメソッドを呼び出すことによって)、アプリケーションは自動的に以前のアクティビティに戻ります(途中で中止した状態)。あなたの例では、すでにアクティビティ1、2、3、4、5があり、インテントを使って新しいアクティビティを開こうとすると、アプリケーションのアクティビティスタックは1,2,3,4,5,2になります。代わりに、アクティビティ5、4、3のfinishメソッドを順番に呼び出すと、必要なものが得られます。この方法では、まずアクティビティ4、3、2に戻ります。

アクティビティ2に直接戻る場合は、自分のアクティビティスタックマネージャを作成することを検討する必要があります。

1

これを試してみてください:

Intent i = new Intent(activity,AccueilFournisseur.class); 
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
activity.startActivity(i); 
関連する問題