3

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

有可能这样做吗?

4

1 回答 1

13

开始您的孩子活动:

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
    }
}
于 2013-06-21T19:25:56.790 回答