在Android中的活动之间传递自定义HashMap

时间:2015-07-23 22:41:34

标签: java android android-intent android-activity hashmap

我有一个HashMap,它接受一个字符串ID(聊天室的ID)作为密钥,并将该特定房间的所有聊天存储在一个arraylist中,如下所示:

    HashMap<String, ArrayList<ChatMessage>> chatHistoryHashMap = new HashMap<String, ArrayList<ChatMessage>>();

这是在RoomActivity中创建的,我想将它传递给ChatActivity。我怎么能这样做?我试图使它成为一个公共静态但使用&#34; put&#34; ChatActivity中的方法似乎什么都不做,不知道为什么。

当在ChatActivity中按下后退按钮时,我还需要将此HashMap传递回RoomActivity。

我需要使用Intents吗?

1 个答案:

答案 0 :(得分:0)

当你在类中创建任何静态时,该变量对该包中的所有类都是可见的,因此不可能在另一个活动中获得该值。

要访问静态变量,您可以创建类的对象,也可以使用函数名称直接访问它。

您也可以使用intent.putExtra()和intent.getExtra()

传递对象