如何在 Intent 中传递文件列表 - Android

Posted

技术标签:

【中文标题】如何在 Intent 中传递文件列表 - Android【英文标题】:How to pass a list of File in Intend - Android 【发布时间】:2021-11-09 15:58:23 【问题描述】:

我有一个文件列表,我想通过 Intend 将它们传递给另一个活动

List<File> list = ((PDFs) pdfs).getPdfList();
Intent intent1 = new Intent(getApplicationContext(), Merge_PDF.class);
intent1.putParcelableArrayListExtra("pdfList", list);

getPdfList 将返回一个文件列表

【问题讨论】:

为什么要传递文件?而不是他们的路径?您始终可以使用路径获取对文件的引用 我会这样做的,谢谢 【参考方案1】:

如果 E 类型是 Serializable,你可以用同样的方式传递一个 ArrayList。

调用 Intent 的 putExtra(String name, Serializable value) 进行存储,调用 getSerializableExtra(String name) 进行检索。

例子:

ArrayList<String> myList = new ArrayList<String>();
intent.putExtra("pdfList", myList);

在另一个活动中:

ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("pdfList");

【讨论】:

您的示例与 OP 的问题无关 我的问题解决了,@gtxtreme 说我要传递文件的路径。 我的回答包括一般情况。

以上是关于如何在 Intent 中传递文件列表 - Android的主要内容,如果未能解决你的问题,请参考以下文章

如何获取listView位置值并通过intent传递给另一个类

Android组件通信之Intent完全解析

Android组件通信之Intent完全解析

无法通过intent将数组列表从一个活动传递到另一个活动

使用 Intent 从 Activity 传递变量

android 中如何使用intent通过传递变量传递数据