- Android startActivityForResult 默
- Android startActivityForResult
- android startActivityForResult
- RxActivityResult,一种优雅的方式实现startA
- Android -startActivityForResult分
- Android startActivityForResult用法
- Android:startActivityForResult替换
- 如何避免使用onActivityResult,以提高代码可读性
- 四大组件分析-Activity的启动流程基于android9.0
- Android 4.4以下版本onActivityResult不
在Android开发中,startActivityForResult
方法用于启动一个活动(Activity)并等待结果返回。以下是使用startActivityForResult
的步骤:
- 在当前活动(Activity)中调用
startActivityForResult
方法来启动另一个活动,并传递适当的意图(Intent)和请求代码(request code):
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
上述代码中,SecondActivity
是您要启动的目标活动,REQUEST_CODE
是一个整数值,用于标识此请求。
- 在目标活动(SecondActivity)中,当您完成相关操作并准备返回结果时,可以使用
setResult
方法设置结果代码和结果数据(可选):
Intent resultIntent = new Intent();
resultIntent.putExtra("key", "value"); // 可选:设置结果数据
setResult(RESULT_CODE, resultIntent);
上述代码中,RESULT_CODE
是一个整数值,用于表示结果代码。您还可以使用putExtra
方法将结果数据添加到结果意图中。
- 返回到调用
startActivityForResult
的活动时,会调用onActivityResult
方法,您可以在该方法中处理结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_CODE) {
// 处理结果数据
String result = data.getStringExtra("key");
// 根据需要执行操作
} else if (resultCode == RESULT_CANCELED) {
// 处理取消操作
}
}
}
在上述代码中,您可以通过检查requestCode
和resultCode
来确定返回的结果是来自哪个请求和结果代码。您还可以使用data
意图来获取结果数据。
请注意,REQUEST_CODE
和RESULT_CODE
是您自己定义的整数值,可以根据需要进行更改。
这就是使用startActivityForResult
方法的基本步骤。通过这种方式,您可以在活动之间进行交互,并在返回结果时执行适当的操作。
网友评论