首页 > 解决方案 > 如何通过具有不可序列化数据的意图传递数组或数组列表?

问题描述

我想要做的是通过 Intent 在 Activity 之间传递 DataModel 数组。

DataModel 类有 Bitmap 对象和 FirebaseVisionLabel 对象。我找到了很多网站来实现这一点。

很多人说DataModel类应该实现Serializable或Parceable接口来传递DataModel[]ArrayList<DataModel>

所以我尝试了,但真正的问题是 FirebaseVisionLabel 类不能序列化。另外,我无法修改该类,因为它是 firebase 库。

如何按意图传递 DataModel 数组?

观点

  1. 想通过意图传递我自己的类的数组或数组列表。
  2. 该类具有不可序列化的对象,我无法修改。
  3. 我该如何通过或处理它?

标签: androidfirebaseandroid-intentserializablefirebase-mlkit

解决方案


FirebaseVisionLabel 没有太多属性。您将需要通过创建自己的 VisionLabelParcelable 类来序列化 Label / Confidence /...(您关心的任何内容)。

到目前为止,没有足够的用例让 ML Kit 返回 Parcelable FirebaseVisionLabel。大多数应用程序应该提取他们感兴趣的信息并在需要时传递。


推荐阅读