有3项活动:
主要活动(包含三个片段: a. Profile片段、b. Order片段、Item Fragment)
)。
我想把订单id从支付屏幕传递到主要活动(订单片段)。
流程:主要活动(概要片段)、->主要活动(项目片段)、->订单汇总活动、->支付屏幕、->主要活动(订单片段)
发布于 2022-05-16 05:31:50
首先,请使用推荐的单一活动架构。但是为了解决您的问题,您可以简单地使用registerForActivityResult在活动之间进行通信。例如,如果您想从MainActivity迁移到OrderSummaryActivity,可以在MainActivity中使用下面的代码从OrderSummaryActivity获得结果
fun openNextActivityForResult() {
val intent = Intent(this@MainActivity, OrderSummaryActivity::class.java)
resultLauncher.launch(intent)
}
var resultLauncher = registerForActivityResult(StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val data: Intent? = result.data
doSomeOperations()
}
}在OrderSummaryActivity中编写下面的代码,将数据返回到MainActivity
var data = Intent()
data.putExtra("key","my data")
setResult(RESULT_OK,data)
finish()OrderSummaryActivity和PaymentScreenActivity之间的通信方式也是一样的。
https://stackoverflow.com/questions/72254140
复制相似问题