Intent [] intes = new Intent [2];
intes[0] = new Intent(context, A.class);
intes[1] = new Intent(context, B.class);
context.startActivities(intes);
当从B返回A时,怎么将B的数据传给A呢,要启动2个,这里没法用A.startActivitiesForResult来启动B
Intent [] intes = new Intent [2];
intes[0] = new Intent(context, A.class);
intes[1] = new Intent(context, B.class);
context.startActivities(intes);
当从B返回A时,怎么将B的数据传给A呢,要启动2个,这里没法用A.startActivitiesForResult来启动B
关注【以下回答由 GPT 生成】
你可以使用startActivityForResult()方法来启动活动B,并在活动B完成后返回结果给活动A。下面是你需要做的步骤:
在活动A中,使用startActivityForResult()方法启动活动B:
java
Intent intent = new Intent(context, B.class);
startActivityForResult(intent, REQUEST_CODE);
在活动B中,当完成操作后,将结果通过setResult()方法返回给活动A:
java
Intent resultIntent = new Intent();
resultIntent.putExtra("key", data); // 将要传递的数据放入Intent中
setResult(RESULT_OK, resultIntent);
finish();
在活动A中,覆盖onActivityResult()方法来接收从活动B返回的结果:
```java @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
if (data != null) {
String result = data.getStringExtra("key"); // 从返回的Intent中获取数据
// 在这里处理从活动B返回的结果
}
}
}
} ```
这样,在活动B完成后,活动A就可以接收到传递给活动B的数据了。请注意,REQUEST_CODE是一个自定义的整数,用于标识这个请求,并确保在onActivityResult()方法中正确处理对应的请求。