펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO
Handler에 msg로 int값을 보낼 수 있다는것은 알것이다.
(http://biig.tistory.com/34 - 핸들러 사용법 포스팅)
그렇다면, 메시지로 객체를 전달할 수는 없을까 ??
할 수 있다.
기존에는
handler.sendEmptyMessage(int);
형식으로 메시지를 전송했다면,
같은 위치에서
Message msg = handler.obtainMessage();
으로 선언 해 주면
msg.what(int);
msg.obj(Object);
msg.arg1(int);
msg.arg2(int);
이런식으로 메시지에 객체를 담을 수 도 있고, 인트값도 저렇게 넣어 줄 수 있다.
잘 활용한다면 매우 유용하다.
예를들어 다른 액티비티에 객체를 전달해야 하는 경우, parcelable를 상속받고 기타 과정이 복잡한데
Handler를 통해 Object를 넘겨주면 매우 간단하게 해결이 가능하다.
그리고 sendEmptyMessage 대신
handler.sendMessage(msg);
로 해주면 전달이 완료된다.
'Android > 기본스킬' 카테고리의 다른 글
안드로이드 TelephonyManager의 기능들 (0) | 2014.05.21 |
---|---|
안드로이드 웹뷰 메소드 호출이 안될 때 (android.permission.INTERACT_ACROSS_USERS_FULL) (1) | 2014.04.17 |
기본적인 뷰 조작 (0) | 2014.01.27 |
안드로이드 생명주기 (0) | 2014.01.27 |
개발 중 에러 발생시 에러 내용 확인, 해결방법 (6) | 2014.01.07 |