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

커스텀 리스트뷰 클릭리스너 질문 드립니다.

0 추천
커스텀 리스트뷰를 생성했는데요

각 row에는 버튼이 있어 클릭시 이벤트를 구현하려고 합니다.

custom adapter에 getView 메소드안에서 클릭리스너를 구현하는것과

listview를 담고 있는 fragment에서 listview.setOnItemClicklistener를 사용하는 방법의

차이점이 있는지 궁금합니다. 또 어떤것을 쓰는게 권장되는지도 알고 싶습니다.

두개를 모두 사용했을 경우엔 두개가 동시에 작동하진 않고 getView 안의 리스너만 동작하더군요. 이건 왜 그럴까요?

초보개발자라 궁금한것들이 너무 많네요 ㅠㅠ 고수님들 도와주세요
지수구열 (500 포인트) 님이 2014년 12월 20일 질문

1개의 답변

0 추천
저같은 경우는 row 에 컨트롤할 요소들이 많은 경우가 대부분이라 getview 에서 하고 있습니다
성능상의 이슈는 없는것 같구요
앱이 복잡해지면 onitemclick 으로는 불편하더라구용
mamondebaltob (32,750 포인트) 님이 2014년 12월 20일 답변
음 그럼 어느걸 사용하는지는 개발자 맘이라는거겠군요!! 저도 getview 안에서 해결하고 싶은데 코드가 너무 길어지는거 같아서 걱정했는데 성능상 문제 없다니 다행이네요 빠른 답변 감사드려요~
저도 이것때문에 몇시간 헤멨는데요
말씀하신 질문에 답이 되었으면 좋겠네요

해당 리스트 뷰의 아이템 레이아웃 루트뷰에
     android:descendantFocusability="blocksDescendants"
위의 태그를 추가해 보세요

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
     android:descendantFocusability="blocksDescendants"
    android:orientation="horizontal" >

대충 다음과 같이?
...