android - 返回包的值始终为 0

标签 android android-activity android-intent bundle

我正在开发一个包含 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/

相关文章:

android - 当应用程序未运行时在后台运行 SyncAdapter

java - onCreate和onStart之间的代码怎么写?

android - 如果用户导航到另一个 fragment ,则保存一个 fragment 和对话框中的信息

android - 从菜单启动时如何恢复 Activity ?

java - 从 Activity 2 到 Activity 1 进行通信并更新列表

Android 构建 : No rule to make target `frameworks/base/preloaded-classes

Android 后台服务控制 UI Activity

android - 在列表已经更新和绘制后,如何为单个项目(条目)设置动画?

java - 具有基本形式的明确 Intent 会使应用程序崩溃

android - 使用 URI 中的 ParcelFileDescriptor 在 Android 中选择图像