如何存储 ArrayList<HashMap<String, String>>



我正在尝试找出存储ArrayList<HashMap<String, String>>项目的最佳方法,以便可以跨活动访问它。在一个活动中,我像将一系列HashMap<String, String>项添加到 ArrayList 来存储它。

我将如何在另一个活动中访问它?我尝试了共享首选项,但据我所知,它只会将其存储为字符串。有什么建议吗?

编辑:我以标签,值的形式将XML存储在哈希图中

为什么不使用应用程序类呢?这样,您就可以将数据结构放在那里,并且可以在活动之间共享其信息。请注意,应用程序可能会被销毁,并且将其保留在应用程序中意味着如果要永久保留它,则必须将其保存在 sharedprefs 中或写入磁盘。

最简单的方法是创建一个单独的类并用静态变量填充它,如下所示:

http://www.glenmccl.com/tip_002.htm

这样,您可以创建静态方法来根据需要跨活动获取和设置值。

但是,有些人会认为这不如简单地创建一个扩展 Application* 的新类安全。如果您决定这样做,那么您还需要在 AndroidManifest.xml 文件中注册扩展。

我将如何在另一个活动中访问它?

第一路

  • 在第一个活动中将其公开为静态,并在其他活动中访问。

第二种方式

  • 如何将列表传递给另一个活动?

如果您下载 XML 并设置数据,请使用 Bean Concept.

  • 请参阅此示例

相关内容

最新更新