gpt4 book ai didi

android - Kotlin - 将数据从 Activity 发送回 fragment

转载 作者:行者123 更新时间:2023-12-05 00:17:49 25 4
gpt4 key购买 nike

当用户按下 btnOpen在 FirstFragment 中,它将创建一个 Activity 。当点击 btnDone在 SecondActivity 中,它应该关闭 Activity 并返回一个 String到 fragment 。
第一个 fragment .kt

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

btnOpen.setOnClickListener {
var someActivityResultLauncher = registerForActivityResult(
StartActivityForResult(),
ActivityResultCallback<ActivityResult> { result ->
println(result.data)
})

val intent = Intent(context, SecondActivity::class.java)
activityLauncher.launch(intent)
}
}
第二 Activity .kt
override fun onCreate(savedInstanceState: Bundle?) {
btnDone.setOnClickListener{
val intent = Intent(this@InputAmountActivity,FirstFragment::class.java)
intent.putExtra("Total","some data")
finish()
}
}
尝试打印 result.data 时出现空值.我究竟如何获得 total 的值来自第二 Activity ?

最佳答案

现在你正在创建一个 Intent然后就扔掉它而不做任何事情。您需要使用 setResult() 实际将其发送回您的第一个 Activity :

btnDone.setOnClickListener{
val intent = Intent(this@InputAmountActivity,FirstFragment::class.java)
intent.putExtra("Total","some data")
setResult(Activity.RESULT_OK, intent)
finish()
}

关于android - Kotlin - 将数据从 Activity 发送回 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71446959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com