温馨提示×

android中的startactivityforresult怎么使用

小亿
93
2023-07-05 22:37:32
栏目: 编程语言

在Android中,startActivityForResult()方法用于启动一个新的Activity,并且希望在新的Activity关闭后获取返回的结果数据。

使用startActivityForResult()方法的步骤如下:

  1. 在当前Activity中调用startActivityForResult()方法来启动新的Activity。例如:
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);

其中,REQUEST_CODE是一个自定义的整数,用于标识启动的Activity。

  1. 在新的Activity中,当需要返回结果时,可以通过以下代码设置返回的结果数据:
Intent intent = new Intent();
intent.putExtra("result", resultData); // 将结果数据放入Intent中
setResult(Activity.RESULT_OK, intent); // 设置返回结果
finish(); // 关闭当前Activity

其中,resultData是你希望返回的结果数据。

  1. 在当前Activity中,通过重写onActivityResult()方法来处理返回的结果数据。例如:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
// 处理返回的结果数据
String result = data.getStringExtra("result");
// ...
}
}

在onActivityResult()方法中,可以根据requestCoderesultCode来判断返回的结果是否是我们所期望的。然后可以通过data参数获取返回的结果数据。

这就是使用startActivityForResult()方法的基本步骤,通过这种方式,可以在不同的Activity之间传递数据并获取返回的结果数据。

0