본문 바로가기
Mobile/Android

[Android] 커스텀 리스트 뷰 AdapterView.OnItemClickListener 리스터 동작 안할때

by C_Meaning 2021. 11. 29.
728x90

아이템리스너가 동작 안하는 이유에 대해 여러모로 생각해보았지만

포커스가 문제인줄은 알았지만 며칠이나 고생하다 구글링으로 겨우 찾은 해답이다..(역시 구글링을 잘해야 한다)

 

해결 방법은 Root 위젯 속성에 android:descendantFocusability="blocksDescendants"를 추가 하면 된다.

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="1000px"
    android:layout_height="200px"
    android:layout_gravity="center"
    android:descendantFocusability="blocksDescendants"
    android:gravity="center_vertical">

    <RadioButton
        android:id="@+id/radio_btn"
        android:layout_width="100px"
        android:layout_height="100px"/>

    <TextView
        android:id="@+id/text"
        style="@style/FontReguler"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:gravity="center_vertical"
        android:textColor="@color/White_color" />
</LinearLayout>

 

추가로, 어댑터쪽에 버튼 클릭 리스너 같은걸 절대 추가해선 안된다.

 

선행적으로 얘가 또 이벤트를 가져가기 때문에 액티비티에서 아이템클릭리스너를 등록해서 쓰는게 아닌이상 절대 해서는 안된다.

728x90

댓글