どのボタンが押されたかによって、ナビゲーションスタックからいくつかの画面を削除する必要があります。Xamarin.Androidはユーザーの操作に応じて履歴から活動を削除します
私はホーム画面を持っていて、その横に3つの画面があります(ここではS1、S2、S3と呼ぶ)。
S1は家から、S1はS2を、S2はS3から開きます。
これらの3つの画面のそれぞれには、戻ると次のボタンがあります。
現在の画面がS2でバックボタンを押した場合、ナビゲーションスタックから削除したいと思います.S1に戻って戻るボタンを押すとS2に行きます。間違っています。それは家に帰るべきです。
私は、Finish()
を呼び出すことができますが、私が戻ってくるのではなく次のボタンを押しても機能しないことが分かりました。この場合、NoHistory = true
は動作しません。
これを管理できるものはありますか、それを解決するための考えはありますか?
1)あなたがあなたの活動にOnBackPressedメソッドをオーバーライドすることができます。
「次のボタン」を押したときに何をしましたか? –
ホーム - > S1-> S2-> S3->ホームのように次の画面に進むには "次のボタン"を押します。もう一度ホーム画面に戻って「戻る」を押すとS3には進まず、これらの3つの画面はナビゲーションスタックから削除する必要があります –
画面が 'S2'のときに戻るボタンを押すと' Finish ) 'スタックから削除するには、次のボタンを押すと' StartActivity(typeof(S3)) 'を使ってS3を開くことができます。 –