當用戶按下btnOpenFirstFragment 時,它將創建一個活動。當btnDone在 SecondActivity 中單擊時,它應該關閉活動并將 a 傳回String片段。
第一個片段.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)
}
}
第二活動.kt
override fun onCreate(savedInstanceState: Bundle?) {
btnDone.setOnClickListener{
val intent = Intent(this@InputAmountActivity,FirstFragment::class.java)
intent.putExtra("Total","some data")
finish()
}
}
嘗試列印時我得到 null result.data。我究竟如何total從 SecondActivity 獲得價值?
uj5u.com熱心網友回復:
現在,您正在創建一個Intent,然后將其扔掉而不做任何事情。您需要使用setResult()實際將其發送回您的第一個活動:
btnDone.setOnClickListener{
val intent = Intent(this@InputAmountActivity,FirstFragment::class.java)
intent.putExtra("Total","some data")
setResult(Activity.RESULT_OK, intent)
finish()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/442554.html
