将 List<File> 添加到 Android 中的 Bundle
Adding List<File> to Bundle in Android
我在 Android
中有 List
个 File'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());
我在 Android
中有 List
个 File'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());