我正在开发一个包含 3 个 Activity 的应用程序。 Activity 3 从 2 打开,2 从 1 打开。我想获取用户在 Activity 3 中输入的两个数字,并在 Activity 2 中处理它们。
这是我目前在 Activity 3 中使用的代码,用于 bundle 我要返回给 #2 的号码:
@Override
protected void onPause(){
super.onPause();
Bundle bundle = new Bundle();
bundle.putInt("param1", num1);
bundle.putInt("param2", num2);
Intent i = new Intent(this, Activity2.class);
i.putExtras(bundle);
setResult(ACTIVITY_END, i);
finish();
}
然后在 Activity #2 中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
Bundle bundle = this.getIntent().getExtras();
int num1 = bundle.getInt("param1"));
int num2 = bundle.getInt("param2");
//do something with ints
}
但是,无论#3 向#2 发送什么数字,num1 和 num2 始终为 0。
有什么想法吗?
非常感谢!
最佳答案
试试这个用户, @覆盖
protected void onPause(){
super.onPause();
Bundle bundle = new Bundle();
bundle.putInt("param1", num1);
bundle.putInt("param2", num2);
Intent i = new Intent(this, Activity2.class);
i.putExtra("my_bundle", bundle);
setResult(ACTIVITY_END, i);
finish();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
Bundle bundle = data.getBundleExtra("my_bundle");
int num1 = bundle.getInt("param1"));
int num2 = bundle.getInt("param2");
//do something with ints
}
关于android - 返回包的值始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394223/