Parent Class와 Child Class와의 Event 흐름 / 문제
1. Android에서 OnItemClickListener, OnChildClickListener와 같이 ListView에 아이템에서 이벤트를 발생 시켜는 리슨어의 경우 부모에서 해당 이벤트를 가지고 있을 때, 부모가 이벤트를 가로 채서 자식에게 이벤트가 전달되지 않을 경우가 발생하게 된다. 이상하게도 OnClickListener, OnTouchListener의 경우는 super로만 해당 이벤트를 전달하지 않으면 자식이 해당 이벤트를 받을 수 있었다. 그래서 이 문제를 해결하기 위해서 많을 헤딩을 한 결과, 부모가 가로채는 이벤트를 전달 받는 것이 아닌, 해당 아이템뷰에서 setTag() 메소를 통하여 데이터를 전달 받아 해당 문제를 해결 하였다. 참고로, layout.xml 에서 android:onClick을 통하여 아이템 클릭 이벤트를 받았으며, 위에서 말한 것과 같이 setTag() 아이템을 가지고 내가 필요한 정보들을 전달 받았다.(현재, 프로젝트에서 Child Item의 Position과 Group Item의 Position 값이 꼭 필요해 android:onClick으로 구현 했을 경우 해당 값을 전달 받을 수 없어 이와 같은 방법을 이용한 것이다.)
2. Android Event의 일반적인 흐름
3. OnItemClickListener와 같은 ListView에서의 부모가 이벤트 가로채는 문제 해결 방법
'Dev Platfrom > 01. Android' 카테고리의 다른 글
Geocoder / getFromLocation ICS, 젤리빈 주소가져오기 오류 (0) | 2012.12.13 |
---|---|
Android 어플성능에 관한 고찰 (0) | 2012.11.05 |
Android Selector 속성 (0) | 2012.10.16 |
SNS 연동 (0) | 2012.10.16 |
BitMap / BitmapFactory 속성 (0) | 2012.10.16 |