Android 将参数传递给上一个活动
我想将参数从活动B传递到A,其中B是由A启动的。是否可以这样做?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
谢谢是的,如果从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");
}
}
}