1

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

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

编辑:我以标签、值的形式将 XML 存储在 HashMap 中

4

3 回答 3

2

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

于 2012-06-15T14:56:59.353 回答
1

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

第一种方式

  • 在第一个 Activity 中将其设为 public static 并在其他 Activity 中访问。

第二种方式

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

于 2012-06-15T14:46:15.873 回答
1

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

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

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

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

于 2012-06-15T14:48:46.907 回答