如何在没有完成它的情况下获取活动中的getParcelableExtra

时间:2016-02-18 08:51:20

标签: android android-intent parcelable

假设我有第一个activity,我从第activity开始,而没有完成第一个activity

当我在第二个activity按下后退按钮时,我回到第一个活动完成第二个活动&使用构造函数在parcel类中设置值。 如果我在第二个活动中使用startActivity(),那么它可以正常工作,但我只想在第二个活动中使用finish()

现在,我希望在我的第一项活动中getParcelableExtra()

我该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:1)

在您的第一个活动电话中

startActivityForResult(new Intent(context, YourSecondActivity.class), requestCode);

在您的第二个活动中,您可以覆盖onBackPressed()方法:

@Override
public void onBackPressed() {

    Intent intent = new Intent();
    intent.putExtra("extra_name", YourParcelable);
    setResult(RESULT_OK, intent);

    super.onBackPressed();
}

然后,在第一个活动中接收可分割数据:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    YourClass value = (YourClass)data.getParcelableExtra("extra_name");
}