2016-11-22 8 views
0

ここで問題は、私はA→Bを実行し、BIからB→Cを実行します。フローを開始するにはA→B→Cですが、Cを開始するとBをクリアしたいので、CIからバックプレスを押すとAに戻ります。 CとCLEAR_TOPからAを開始できますが、 1であります。onBackPressed()は前のアクティビティのonBackPressed()を呼び出す必要があります

は、あなたが戻ってプレスに開くようにしたくないの活動にテントを通過した後

+5

'Activity' Cに行くとき、' Activity' Bで 'finish()'を呼び出すのはどうですか?もちろん、 'startActivity'の後に' finish() 'を呼び出してください。 –

+0

Bの中で、Cを起動した後に 'finish()'を呼び出します。 –

+0

これを確認するために、A、B、Cは同じアクティビティの断片ですか? – Nithinlal

答えて

2

あなたはfinish()を呼び出すことができます。あなたがBを意図した後。

2

コールfinish();ありがとうございます。

3

あなたはただあなたが開始C活動の後に()仕上げを呼び出すとBの活動で、finish()

Intent intent = new Intent(this, NextActivity.class); 
startActivity(intent); 
finish(); 
1
Intent intent = new Intent(this, C.class); 
startActivity(intent); 
finish(); 

を呼び出す必要があります。スタックからBアクティビティを削除することができます。 Cで戻ると、Aアクティビティが表示されます。

2
//FROM A TO B 
    Intent A = new Intent(A.this,B.class); 
    startActivity(A); 

    //FROM B TO C 
    Intent B = new Intent(B.this,C.class); 
    startActivity(B); 
    finish(); 

    //FROM C TO A 
    onBackPressed(); you can go directly to A. 

希望これはあなたを助けるかもしれません。

関連する問題