Android 将参数传递给上一个活动

Android 将参数传递给上一个活动,android,Android,我想将参数从活动B传递到A,其中B是由A启动的。是否可以这样做? 谢谢是的,如果从A启动活动B时,使用startActivityForResult启动它,则可以在活动B中设置结果,然后读取A中的值 在一个示例中,您需要覆盖ActivityResult上的以获得结果值 在活动中B: // do stuff setResult(RESULT_OK); finish(); 然后在A中: @Override protected void onActivityResult(int requestCode

我想将参数从活动B传递到A,其中B是由A启动的。是否可以这样做?
谢谢

是的,如果从A启动
活动
B时,使用
startActivityForResult
启动它,则可以在
活动
B中设置结果,然后读取A中的值

在一个示例中,您需要覆盖ActivityResult上的
以获得结果值

活动中
B:

// do stuff
setResult(RESULT_OK);
finish();
然后在A中:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    //check result
}

查看(从A调用),(从B调用)和(B退出后调用的A回调)。

对davec的答案进行一点扩展:

如果您需要的数据不仅仅是RESULT_OK,那么您必须在B中使用putExtra(),在A中使用getExtras()。您可以发送基本数据类型,例如字符串:

在B中:

然后,要在一个窗口中拾取它:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);

   if (resultCode == RESULT_OK) {
      if (data != null) {
         Bundle b = data.getExtras(); 
         String str = b.getString("myStringData");
      }
   }
}    

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);

   if (resultCode == RESULT_OK) {
      if (data != null) {
         Bundle b = data.getExtras(); 
         String str = b.getString("myStringData");
      }
   }
}