Fragment 間の遷移 (6) 考察

2019年12月16日月曜日

Android Kotlin

t f B! P L

考察

 ここまでで、2つの fragmentのそれぞれの画面上のボタンを押すことで、fragment間の遷移をし、戻るボタンで第一のfragmentに戻る処理を作つた。
 そのなかで、予期せぬ fragmentの実体の複数回生成と、戻るボタンの非期待動作があり、とりあえずの解決をおこなつた。

 考えへるに、本質的な問題は

   SecondFragmentが、MainFragmentに「遷移する」ボタンを持つてゐたこと

ではないか。

 画面の遷移の設計のあるべき姿は、以下ではないかと考へる。
  • 上流から下流へ流れ、
  • その都度、下位の画面の fragmentを生成し、
  • addToBackStackで遷移を積む。
  • 逆に、下流から上流へは、戻るボタンで一段づつ戻り、
  • BackStackの最新の遷移が取り除かれる。
  • 例外的に最上流に戻る場合のみ、たとへば Homeボタンをしつらへ、BackStackを空にする。

 Android Developperの Principles of Navigationのでは、あまり詳しくは書かれてゐないが、考へ方としては、そのやうである。

 なほ、上記箇条書きしたあるべき姿の最後の項目を実現するには、以下のやうにするのか。


for (i = 0: i < supportFragmentManager.backStackEntryCount; i++){
     supportFragmentManager.popBackStack(null, POP_BACK_STACK_INCLUSIVE)
}


まだまだ不明点がおほい。
(了)

アーカイブ