2015-07-23 3 views
0

У меня есть HashMap, который принимает в строке ID (идентификатор чата) в качестве ключа и сохраняет все чаты из этой конкретной комнаты в ArrayList следующим образом:Передача пользовательских HashMap между деятельностью в Android

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

Это создано в RoomActivity, и я хочу передать его ChatActivity. Как я могу это сделать? Я попытался сделать его общедоступным, но использование метода «put» в ChatActivity, похоже, ничего не делает, не знаю почему.

Мне также нужен этот HashMap для возврата обратно в RoomActivity, когда в ChatActivity нажата кнопка «Назад».

Нужно ли использовать намерения?

+0

Там нет никаких оснований для того, чтобы не работать, если это статический! Не могли бы вы показать нам код? Как это выглядело, когда u сделал его статичным. Не только init. –

+0

Передача не разбора @MarkKeen, и если вы хотите просто сериализовать его, вам все равно придется его передать. –

+0

Я сделал это статическим, и я мог бы использовать его, но значения никогда не менялись в классе ChatActivity, у многих людей такая проблема, но я не могу получить решение ... http://stackoverflow.com/questions/ 25226336/public-static-hashmap-clear-and-put-not-work-correct http://stackoverflow.com/questions/30373115/static-hashmap-not-working – hakobob

ответ

0

Когда вы сделали что-то статическое в своем классе, тогда эта переменная видна для всех классов в этом пакете, поэтому не может быть так, что вы не сможете получить значение в другом действии.

Чтобы получить доступ к статической переменной, вы можете либо сделать th объект класса, либо получить прямой доступ к нему, используя имя функции.

Вы также можете передать объект с помощью intent.putExtra() и intent.getExtra()

+0

Статик не делает его доступным для других классов в пакете. У вас может быть приватная статическая переменная, доступ к которой возможен только в этом классе. – rabz100

+0

Я сделал его статическим, и я мог бы его использовать, но значения никогда не менялись в классе ChatActivity, у многих людей такая проблема, но я не могу получить решение ... http://stackoverflow.com/questions/ 25226336/public-static-hashmap-clear-and-put-not-work-correct http://stackoverflow.com/questions/30373115/static-hashmap-not-working – hakobob

Смежные вопросы