首页 > 解决方案 > 将不可序列化的对象传递给另一个活动

问题描述

我有一个类型的对象ArrayList<StorageReference>,我需要将其传递给下一个活动,但是由于StorageReference该类不可序列化(我假设),当我尝试使用Bundle该类传递它时,我得到一个 AndroidRuntime error: Parcel: unable to marshal value错误。

那么我能做些什么来通过它呢?有什么解决方法吗?

标签: androidfirebasefirebase-storage

解决方案


您应该首先使用getPath()将每个 StorageReference 转换为字符串,然后再将它们添加到 Bundle。然后,在接收活动中,使用FirebaseStorage.getReference(String)将这些字符串转换回 StorageReference 对象。


推荐阅读