記述は簡単です。

 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() { } }