Другие ответы будут работать, но все же мы можем значительно улучшить, используя функции расширения в Kotlin.
Добавьте функцию расширения к классу FragmentManager, как показано ниже,
inline fun FragmentManager.doTransaction(func: FragmentTransaction.() ->
FragmentTransaction) {
beginTransaction().func().commit()
}
затем создайте функцию расширения для класса AppCompatActivity,
fun AppCompatActivity.addFragment(frameId: Int, fragment: Fragment){
supportFragmentManager.doTransaction { add(frameId, fragment) }
}
fun AppCompatActivity.replaceFragment(frameId: Int, fragment: Fragment) {
supportFragmentManager.doTransaction{replace(frameId, fragment)}
}
fun AppCompatActivity.removeFragment(fragment: Fragment) {
supportFragmentManager.doTransaction{remove(fragment)}
}
Теперь, чтобы добавить и удалить фрагменты из любого действия, вам просто нужно позвонить так:
addFragment(R.id.fragment_container, fragment)
replaceFragment(R.id.fragment_container, fragment)
Пожалуйста, обратитесь к ссылке ниже для получения дополнительной информации,
https://medium.com/thoughts-overflow/how-to-add-a-fragment-in-kotlin-way-73203c5a450b