記述は簡単です。
Androidではアクティビティをバックスタックに入れることができるが、fragmentも同じようにバックスタックに入れることができる。こうすると動的に追加したfragmentをバックボタンで削除することができる。
やり方は簡単で、下記のように追加すればいい。
Androidではアクティビティをバックスタックに入れることができるが、fragmentも同じようにバックスタックに入れることができる。こうすると動的に追加したfragmentをバックボタンで削除することができる。
やり方は簡単で、下記のように追加すればいい。
//fragmentからのコールバックを受けるためにリスナーのインターフェースを継承している
//今回のに特に関係ない。なぜこんなことをしているかは、こちらを参照
class MainActivity : AppCompatActivity(), OnFragmentInteractionListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnButton01.setOnClickListener {
//fragmentをバックスタックに保存して表示するには以下のように記述する
val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction()
fragmentTransaction.also {
it.add(R.id.clLayout01, TestFragment.newInstance())
it.addToBackStack("1")
it.commit()
}
}
}
override fun onFragmentInteraction() {
}
}