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