gpt4 book ai didi

android-intent - Android - 如何将数据发送回调用 Activity

转载 作者:行者123 更新时间:2023-12-04 14:14:56 25 4
gpt4 key购买 nike

我从activityA 调用activityB 并使用意图传递一个类对象。

Intent intentB = new Intent(v.getContext(), activityB.class);
intentB.putExtra("data", data); //data is a class object
startActivity(intentB);

activityB 开始正常,我也能够提取数据。在activityB 中,我正在修改数据对象。当调用activityB.onDestroy() 时,我想将此修改后的数据对象发送回activityA。

有什么建议吗?

这是我的代码:

Activity A,开始 Intent :
Intent i = new Intent(this, activityB.class);
i.putExtra("object", Class.object);
startActivityForResult(i, 1);

Activity A,捕捉意图:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
object = data.getParcelableExtra("object"); //the Class implements Parcelable
}
}

Activity B
protected void onDestroy() {
Intent data = new Intent();
setResult(RESULT_OK, data)
finish(); // ends current activity
}

最佳答案

使用 ActivityResult。

  • 使用 startActivityForResult(int, Intent)
  • 要在 Activity B 中设置信息,请使用 setResult(RESULT_OK, data) (其中数据是意图)
  • 覆盖 onActivityResult(int, int, Intent)并 catch data -意向

  • Activity A,开始 Intent :
    Intent i = new Intent(this, SecondActivity.class);
    startActivityForResult(i, 1);

    Activity A,捕捉数据:
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == 1) {
    // make use of "data" = profit
    }
    }

    Activity 乙:
    Intent data = new Intent();
    setResult(RESULT_OK, data)
    finish(); // ends current activity

    关于android-intent - Android - 如何将数据发送回调用 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15326288/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com