kotlin
fun AppCompatActivity.addFragment(containerViewId: Int, fragment: Fragment) {
supportFragmentManager.beginTransaction()
.add(containerViewId, fragment)
.commit()
}
kotlin
var Fragment.pageIndex: Int
get() = arguments?.getInt("pageIndex") ?: 0
set(value) {
val args = arguments ?: Bundle().also { arguments = it }
args.putInt("pageIndex", value)
}
kotlin
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "androidx.core:core-ktx:1.2.0"
}
kotlin
import androidx.fragment.app.add
import androidx.fragment.app.replace
import androidx.fragment.app.pageIndex
kotlin
class MyFragment : Fragment() {
//...
fun exampleUsage() {
activity?.add(R.id.containerView, fragment)
activity?.replace(R.id.containerView, fragment)
val pageIndex = arguments?.pageIndex ?: 0
arguments?.pageIndex = pageIndex + 1
}
}