마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

HashMap을 다른 activity로 보낼 때 startActivity가 되지 않습니다.

0 추천
액티비티 A에 있는 HashMap을 액티비티 B로 intent를 사용해서 옮기려고 하는데 마음처럼 되지 않습니다

class Info{

String ---;

String ---;

boolean ---;

}

HashMap<String, Info> sendMap = new HashMap<String, Info>();

sendMap에 데이터를 넣고

Intent intent = new Intent(this, 액티비티B.class);

intent.putExtra("sendMap", sendMap);

startActivity(intent);

를 하면 액티비티 B가 실행되지 않습니다.

HashMap에 제가 만든 Info가 아닌 <String, String> 로 테스트를 해보니 잘 되던데..

어떤게 문제일까요..
익명사용자 님이 2014년 3월 19일 질문
실행되지않는다는게 오류가 난다는 건가요 아니면
startActivity(intent); 수행 후에도
화면 전환이 이뤄지지않는다는 건가요?
표현이 모호했네요
화면 전환이 되지 않습니다.

2개의 답변

+1 추천
  1. extra 로 전달할 수 있는 데이터 타입은 한정 되어 있습니다.
  2. parcelable 에 대해서 찾아보세요 http://stackoverflow.com/questions/7181526/example-of-implementing-parcelable
aucd29 (218,390 포인트) 님이 2014년 3월 20일 답변
0 추천
Info 클래스에 Serializable을 implements를 하니까 정상적으로 동작 합니다.
익명사용자 님이 2014년 3월 24일 답변
가급적 parcelable 쓰기를 추천드립니다...
...