안드로이드 개발 질문/답변
(글 수 45,052)
다른게 아니라 현재 어플을 하나 짜고 있는데요.
예를들어 1개의 Item이 TextView 3개와 CheckBox 1개의 Item을 여러개 가지는 ListView를 만들때
리스트의 특정 item을 클릭했을때 해당 item의 CheckBox를 check 되게하는 것은 구현을 했습니다.
[질문]
위와 다르게 리스트의 특정 Item을 클릭하는 것과 독립적으로 그 Item내에 있는 CheckBox를 따로
클릭을 했을때 이벤트를 따로 처리하고 싶은데요. 어떻게 해야 할지 모르겠습니다.
쉽게 말해 List의 Item을 클릭하는 이벤트 처리는 onListItemClick() 에서 처리하면 되는데
Item 안에 포함된 checkBox의 클릭이벤트는 무엇으로 처리해야 할지 모르겠습니다.
무엇을 써야 하며 어떻게 연결을 해주어야 하는지 알고싶습니다.
매번 많은 도움에 감사드립니다. ㅇ(__)ㅇ
2010.06.28 15:24:32
public View getView(int position, View convertView, ViewGroup parent) { .... CheckBox chk; //생성되었다고가정 chk.setId(position); chk.setOnClickListener(listener); ....... } private final OnClickListener listener = new OnClickListener(){ public void onClick(View v) { if (v instanceof CheckBox) { CheckBox chk = (CheckBox)v; switch (chk.getId()) { //모든 아이디로 case문을 적용! } } }};
위와같이 적용하시면 되겠네요.
리스트마다 있는 checkButton 모두 리스너를 달고 position 으로 setId 한 후에
변화가 생길때 마다 직접 일일이 바꾸게
notifyDataSetChanged() 호출해서 구현 했습니다;;;;