Android 如何在未完成接收活动的情况下获取ParcelableExtra
假设我有第一个Android 如何在未完成接收活动的情况下获取ParcelableExtra,android,android-intent,parcelable,Android,Android Intent,Parcelable,假设我有第一个活动,从中我转到第二个活动,但没有完成第一个活动 当我在第2个活动中按下后退按钮时,我返回到第1个活动,完成第2个活动并使用构造函数设置地块类中的值。 如果我在第二个活动中使用startActivity(),那么效果很好,但我只想在第二个活动中使用finish() 现在,我想在我的第一个活动中getParcelableExtra() 我该怎么做 提前感谢。在您的第一次活动电话中 startActivityForResult(new Intent(context, YourSecon
活动
,从中我转到第二个活动
,但没有完成第一个活动
当我在第2个活动中按下后退按钮时,我返回到第1个活动,完成第2个活动并使用构造函数设置地块类中的值。
如果我在第二个活动中使用startActivity()
,那么效果很好,但我只想在第二个活动中使用finish()
现在,我想在我的第一个活动中getParcelableExtra()
我该怎么做
提前感谢。在您的第一次活动电话中
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");
}
我想你应该试试startActivityForResult()并得到你想要的结果want@MohitSuthar非常感谢。我使用parcel类从活动传递数据,如果我使用startActivityForResult(),那么我不需要使用parcel类,对吗?但不幸的是,我需要使用parcel类。如果使用parcel类传递数据,则可以使用startActivityForResult()获取解析数据,前提是您知道如何使用startActivityForResult()