Android Передача хеш-таблицы из двух действий - PullRequest
1 голос
/ 07 марта 2012

Я хочу передать эту структуру из намерения A в намерение B: Hashtable> parsedData;

Я делаю это: // намерение A

Intent intent = new Intent(A.this,B.class);
intent.putExtra("placemarkOnMap", placemarkOnMap);`

// намерение B

Serializable data = getIntent().getSerializableExtra("placemarkOnMap"); 
placemarkOnMap = new Hashtable<String, Hashtable<String,String>> ((Hashtable<String, Hashtable<String,String>>)data); 

Это возвращаемое placemarkOnMap = {}, но placemarkOnMap не является пустым в действии A.

Что не так? Спасибо.

1 Ответ

0 голосов
/ 07 марта 2012

Вам не нужно создавать новый Hashtable и инициализировать его тем, который вы получаете из намерения. Это:

  placemarkOnMap = new Hashtable<String, Hashtable<String,String>> ((Hashtable<String, Hashtable<String,String>>)data);

можно заменить на:

placemarkOnMap = (Hashtable<String, Hashtable<String,String>>)data;

Кроме этого, убедитесь, что в вашем Hashtable есть значения прямо перед тем, как вы поместите его в намерение. Поскольку что-то получает десериализацию для «placemarkOnMap», это означает, что вы что-то положили туда, но это было пусто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...