안드로이드 개발 질문/답변
(글 수 45,052)
<그림1>
안녕하세요. ListView와 ListView의 item 사이의 이벤트 문제 때문에 질문하게 되었습니다.
먼저 ListView에 위와 같은 layout을 형태로 item을 가지도록 설정했습니다.
ListVIew에 itemClick이벤트를 등록하기 위해서
listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //CODE... } }
<CODE1>
CODE1과 같이 등록하였습니다.
하지만 item 내의 CheckBox(그림1의 보기)가 있으면 CODE1의 리스너까지 이벤트 전달이 되지 않는다고 해서
checkBox.setFocusable(false);
<CODE2>
처럼 Adapter내부의 getView에서 해당 checkBox에 CODE2를 적용하였습니다.
그렇게 해서 CODE1의 리스너와 CheckBox의 리스너 모두 정상 동작을 합니다.
문제는 CODE1의 이벤트가 발생할 때(CheckBox영역이 아닌 다른 item 영역을 터치)
CheckBox의 Selector(Over효과)가 발생을 하는 것입니다.
물론 체크가 해제되거나 하는 동작을 하지는 않지만 CheckBox를 누르지 않아도 눌리는 것과 같은 효과가 나타나서 제거를 하려고 하는데..
도저히 방법을 찾지 못하고 있습니다.
해결 방법을 아시는 분은 답변 부탁드립니다.