Android Fragments 使用Kotlin将数据从活动传递到片段

a14dhokn  于 2023-01-05  发布在  Android
关注(0)|答案(1)|浏览(201)

我有一个Activity和2个片段,此Activity从Intent获取值,我想将此值传递给片段,但当我使用

supportFragmentManager.beginTransaction().replace(R.id.nav_host_fragment,fragment).commit()

它覆盖了彼此的片段,(我有一个片段和bottomnavbar)我认为应该有一个更好的方法,例如传递数据而不替换,但当我这样做时,没有给片段赋值.活动代码:'

val bundle = Bundle()
        val fragment = ResultFragment()
        bundle.putString("BMI", bmi)
        fragment.arguments = bundle
        supportFragmentManager.beginTransaction().replace(R.id.nav_host_fragment,fragment).commit()

片段代码:

val data = arguments
val value = data?.getString("BMI")

我尝试使用不同的方法在片段之间导航,但没有效果。

6tdlim6h

6tdlim6h1#

获取片段中的数据时使用requireArguments()

if (arguments != null) {
    if (requireArguments().getString("BMI")) {
         // your code
 }

相关问题