要从一个Activity中调用另一个Activity的方法,可以使用Intent和startActivityForResult()方法来实现。以下是一个示例代码:
在要调用另一个Activity的Activity中,使用以下代码:
// 定义一个请求码
private val REQUEST_CODE = 1
// 创建一个Intent对象,指定目标Activity
val intent = Intent(this, TargetActivity::class.java)
// 使用startActivityForResult()方法启动目标Activity,并传递请求码
startActivityForResult(intent, REQUEST_CODE)
在目标Activity中,可以通过以下代码接收调用请求和请求码:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
// 检查请求码和结果码
if (requestCode == REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
// 执行需要调用的方法
performAction()
}
}
}
在目标Activity中执行完所需操作后,可以通过以下代码设置结果码并关闭Activity:
val resultIntent = Intent()
// 设置结果码
setResult(Activity.RESULT_OK, resultIntent)
// 关闭Activity
finish()
这样,调用的Activity就可以在目标Activity中执行所需的操作,并返回结果给调用者的Activity。