2012-03-07 2 views
1

이 구조를 의도 A에서 의도 B로 전달하고 싶습니다. Hashtable> parsedData;안드로이드 두 액티비티에서 해시 테이블 전달하기

나는이 작업을 수행 : // 의도

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

http://stackoverflow.com/questions/5566921/androidpassing-a-hash-map-between-activities –

+0

이 질문은 정적 필드를 통해 활동간에 개체를 전달하는 방법을 나타냅니다. –

답변

0

새 Hashtable을 만들고 의도 한 것과 함께 초기화 할 필요가 없습니다. 이 : 그 외에는

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

, 당신이 의도에 넣어 바로 전에 해시 테이블이 값을 가지고 있는지 확인하십시오

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

는 교체 할 수 있습니다. 뭔가가 "placemarkOnMap"에 대해 deserializd가되었으므로 그 장소에 뭔가를 넣었 음을 의미하지만 비어 있습니다.

+1

이 예외가 있습니다 : java.lang.ClassCastException : java.util.HashMap – michele

+0

내 해시 테이블의 값이 Activity A – michele

+0

@michele placemarkOnMap은 HashMap이 아니라 Hashtable입니까? – toto2

관련 문제