android - 我如何将所有 Activity 的数据传递给最终 Activity ?

标签 android

我有四个名为 activity1、activity2、activity3、activity4 和 finalactivity 的 Activity 。我构建了 CV Builder,它在不同的 Activity 中获取人员信息。

现在我想将 activity1 的数据发送到 activity2,为此我使用了 intent,但现在我不明白如何将两个 Activity (1 和 2)的数据发送到 activity3,等等。最后我想将所有四个 Activity 的数据发送到 finalactivity,有帮助吗?

最佳答案

我认为您最好的选择是使用 Application 类。

为 CV 数据制作一个 POJO 类。并在 Application 类中保留一个对象。在所有 Activity 的提交点击中更新该类中的数据。因此,您可以在上次 Activity 中使用更新后的 CV 数据。

示例:

public class CVData{
    //your String, int, getter, setter, etc.
}

应用类:

public class TestApplication extends Application {

    //Object declaration
    public CVData cvData;

    public TestApplication () {
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate() { 
        // TODO Auto-generated method stub
        super.onCreate();
    }

    //setter getter for object
}

现在在您的 Activity 中:

//after setContentView
TestApplication testAppObj = (TestApplication) getApplication();
myCVObj.setName("abc");
myCVObj.setEducation("engg");
testAppObj.setSomeObj(myCVObj);

//retrieve and update in other activities as:
someCVObj = testAppObj.getterMethodOfObj();
someCVObj.setGoal("learn");
testAppObj.setSomeObj(someCVObj);

因此您将在上一个 Activity 中使用以下方法获取更新的对象:

CVData updatedCVObj = testAppObj.getterMethodOfObj();

您必须像注册 Activity 一样在 list 文件中注册应用程序类:

<application
        android:name="com.pkg.test.TestApplication " />

希望这对您有所帮助。

关于android - 我如何将所有 Activity 的数据传递给最终 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055039/

相关文章:

android - AppCompat 样式背景传播到 ToolBar 内的 Image

java - 无法使用 Appium 在 Android 中单击设备的位置权限对话框允许/拒绝按钮

android - 在扩展 ArrayAdapter 并覆盖 getView 时,传递 resource/textViewResourceId 参数是否完全多余?

java - 从 Firebase 存储 + ContentResolver 下载(API >= 29)

android - Room 分页无法正确地将 Flow<PagingData<Model>> 与其他流合并

android - 单击按钮时打印 Toast 而没有给出答案

Android Alpha Masking 问题

android - 查看 ActionBar 是否堆叠

android - 图文交集

java - 在 AccessibilityServiceInfo 上设置多个 eventType