假设我有第一个activity
,我从第activity
开始,而没有完成第一个activity
。
当我在第二个activity
按下后退按钮时,我回到第一个活动完成第二个活动&使用构造函数在parcel类中设置值。
如果我在第二个活动中使用startActivity()
,那么它可以正常工作,但我只想在第二个活动中使用finish()
。
现在,我希望在我的第一项活动中getParcelableExtra()
。
我该怎么做?
提前致谢。
答案 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");
}