android - 将不可序列化的对象传递给另一个活动
问题描述
我有一个类型的对象ArrayList<StorageReference>
,我需要将其传递给下一个活动,但是由于StorageReference
该类不可序列化(我假设),当我尝试使用Bundle
该类传递它时,我得到一个
AndroidRuntime error: Parcel: unable to marshal value
错误。
那么我能做些什么来通过它呢?有什么解决方法吗?
解决方案
您应该首先使用getPath()将每个 StorageReference 转换为字符串,然后再将它们添加到 Bundle。然后,在接收活动中,使用FirebaseStorage.getReference(String)将这些字符串转换回 StorageReference 对象。