Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Android】Navigationを使った開発で、元の画面に戻る

結論

以下で前の画面 (Fragment) に戻れる

findNavController().popBackStack()

解説

以下のように画面A・Bの両方から画面Cに遷移でき、画面Cで戻るボタンを押すと前の画面に戻るケースを考えます。

  • 画面A → 画面C
  • 画面B → 画面C

このとき、画面AやBからCへの遷移は以下のように記述できます。

findNavController().navigate(action)

しかし、遷移先が一位に定まらない画面Cに関しては同様に記述することができません。

そこで、以下のように記述することで、前に表示していたFragmentに戻ることができます。

findNavController().popBackStack()