android - 如何将 Parcelable 对象从子 Activity 传递到父 Activity ?

标签 android parcelable

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

这有可能吗??

最佳答案

开始您的 child Activity :

startActivityForResult(startIntent, 1);

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

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

并在 onActivityResult 中获取父 Activity 中的数据

@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
    }
}

关于android - 如何将 Parcelable 对象从子 Activity 传递到父 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17242713/

相关文章:

android - adb 如何安装和运行它以使用 shell android?

android - 如何使用 Http POST 请求发送表情符号

java - Android Parcelable 和对象通过引用传递

android - 如何在Kotlin中实现List <data class>(子列表)的可拆分的实现?

Android 在 Android 上的 Activity 之间发送 ArrayList<ParseObject> 时出错。包裹 : unable to marshal value com. parse.ParseObject@b308c828 错误

android - 为什么即使我在 xml 中有按钮 ID,它仍然显示 "Unresolved reference: button"?

android - Android 的 CPU 调速器

java - ListView 第一项的值错误

android - java.lang.ArrayIndexOutOfBoundsException while switch portrait and landscape (交错 GridView 库)

android - 创建地 block 对象的副本