我正在尝试找出存储ArrayList<HashMap<String, String>>
项目的最佳方法,以便可以跨活动访问它。在一个活动中,我像将一系列HashMap<String, String>
项添加到 ArrayList 来存储它。
我将如何在另一个活动中访问它?我尝试了共享首选项,但据我所知,它只会将其存储为字符串。有什么建议吗?
编辑:我以标签,值的形式将XML存储在哈希图中
为什么不使用应用程序类呢?这样,您就可以将数据结构放在那里,并且可以在活动之间共享其信息。请注意,应用程序可能会被销毁,并且将其保留在应用程序中意味着如果要永久保留它,则必须将其保存在 sharedprefs 中或写入磁盘。
最简单的方法是创建一个单独的类并用静态变量填充它,如下所示:
http://www.glenmccl.com/tip_002.htm
这样,您可以创建静态方法来根据需要跨活动获取和设置值。
但是,有些人会认为这不如简单地创建一个扩展 Application* 的新类安全。如果您决定这样做,那么您还需要在 AndroidManifest.xml 文件中注册扩展。
我将如何在另一个活动中访问它?
第一路
- 在第一个活动中将其公开为静态,并在其他活动中访问。
第二种方式
- 如何将列表传递给另一个活动?
如果您下载 XML 并设置数据,请使用 Bean Concept.
- 请参阅此示例