在Android中,startActivityForResult()方法用于启动一个新的Activity,并且希望在新的Activity关闭后获取返回的结果数据。
使用startActivityForResult()方法的步骤如下:
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
其中,REQUEST_CODE
是一个自定义的整数,用于标识启动的Activity。
Intent intent = new Intent();
intent.putExtra("result", resultData); // 将结果数据放入Intent中
setResult(Activity.RESULT_OK, intent); // 设置返回结果
finish(); // 关闭当前Activity
其中,resultData
是你希望返回的结果数据。
@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()方法中,可以根据requestCode
和resultCode
来判断返回的结果是否是我们所期望的。然后可以通过data
参数获取返回的结果数据。
这就是使用startActivityForResult()方法的基本步骤,通过这种方式,可以在不同的Activity之间传递数据并获取返回的结果数据。