如何将Parcelable对象从子活动传递给父活动?

时间:2013-06-21 19:15:33

标签: android parcelable

我正在构建一个需要验证身份的小应用程序。在我的主要活动中,我有一个名为“user”的Parcelable类,其中包含用户的用户名和密码,当用户单击按钮时,它会启动传递该用户类的新活动。它就像一个魅力,在用户填充表单进行身份验证的子活动中,然后当用户按下后退按钮时,我想将“用户”类发送回我的主要活动。

有可能吗?

1 个答案:

答案 0 :(得分:12)

通过以下方式开始您的孩子活动:

startActivityForResult(startIntent, 1);

在您的子活动中,拦截后退按钮并附加您的数据:

@Override
public void onBackPressed() {
    Intent data = new Intent();
    data.putExtra("key", yourDataHere);
    setResult(Activity.RESULT_OK, data);
    super.onBackPressed();
}

onActivityResult

中的父活动中获取数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == 1 && resultCode == Activity.RESULT_OK){
        DataType yourData = (DataType) data.getParcelableExtra("key");
        //Do whatever you want with yourData
    }
}