java - Android:将 Extras (ArrayList) 发送到任何 Activity

标签 java android android-intent arraylist

我有 3 个 Activity ,第一个 Activity (主要)、中间 Activity 和最终 Activity 。目前,我通过 Intent 发送可序列化的数组列表。当我创建从第一个 Activity 中启动最终 Activity 的 Intent 时,这非常有效,尽管它会跳过需要显示的中间 Activity 。我遇到的问题是所有数据都源自第一个 Activity ,而我似乎无法将其从第一个 Activity 发送到最终 Activity ,并且仍然显示中间 Activity 。我想知道是否应该尝试通过 SharedPreferences 发送 Arraylists?

 List<String> proStrings = new ArrayList<>();

@Override
public void onClick(View v) {
    switch (v.getId()) {

        case R.id.SendButton:

            Intent intent = new Intent(FirstActivity.this, MiddleActivity.class);
            intent.putExtra("proGolferArray", String.valueOf(i));


            //CREATE BUNDLE AND ADD ARRAYLIST AS SERIALIZABLE
            Bundle bundle = new Bundle();
            bundle.putSerializable("PROGOLFER", (Serializable) proStrings);

            //START NEW INTENT WITH ARRAYLIST BUNDLE PASSED IN
            intentFinal = new Intent(this, FinalActivity.class);
            intentFinal.putExtra("KEY", bundle);

            startActivity(intent);
            //startActivity(intentFinal);

//this doesn't look right, I must be doing this wrong....

            break;
    }

}

}

从 MiddleActivity 中,我启动了 FinalActivity,但是当我这样做时,第一个 Activity 中 ArrayList 中的数据根本不会出现在 FinalActivity 中。有没有办法从 Middle Activity 启动 'finalIntent' 以便数据正确发送到 FinalActivity?

最佳答案

如果您尝试先显示 MiddleActivity,然后显示 FinalActivity,请尝试以下操作?

  1. 从 FirstActivity 与数组列表一起启动 MiddleActivity

  2. 在MiddleActivity的onCreate()中获取数组列表

  3. 从 MiddleActivity 以及步骤 2 中检索到的数组列表启动 FinalActivity

顺便说一句,您在问题中发布的代码是错误的。您应该将 bundle 附加到 intent 而不是 finalintent

关于java - Android:将 Extras (ArrayList) 发送到任何 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32726607/

相关文章:

java - RxJava : Return an Observable after some delay

java - 声音不会播放两次

java - 启用 java 安全管理器时,获取系统属性 "os.arch"时权限被拒绝

android - 使用来自 Web 的 Intent 打开 Android 日历 (Chrome)

android - 如何使用 PendingIntent 在 BroadCastReceiver 类上发送额外内容?

Java:将 Map 作为函数参数传递

android - Recycler View Horizo​​ntal Scroll with 2 列

java - Android GSON - 使用 JSON 结构化对象的模板

android - "...must supply a layout_height..."但它在我的风格资源中?

java - 捕获图像并仅将它们存储在android中的apk中?