将 List<File> 添加到 Android 中的 Bundle

Adding List<File> to Bundle in Android

我在 Android 中有 ListFile's

List<File> images

我需要将其打包。我一直在尝试将它们转换为 Parcelable 但我还没有找到一种方法来做到这一点。

bundle.putParcelable(BundleKeys.IMAGES.name(), images);

File来自相机图片

java.io.File 是一个可序列化的,因此您可以将其作为可序列化的。但是,它仅适用于一个文件。但是,它不是很有效,并且可能导致 ClassCastException,但您也可以将 List 转换为 Serializable。

bundle.putSerializable("IMAGES", (Serializable) images);

想想你是否真的需要传递整个 File 对象。也许您可以映射一些数据并仅通过 Bundle.

传递它们

用这个来传递:

ArrayList<File> images; //Your list
bundle.putSerializable(BundleKeys.IMAGES.name(), images);

并使用它来检索它:

ArrayList<File> images = (ArrayList<File>) getIntent().getSerializableExtra(BundleKeys.IMAGES.name());