Mobile/Android
[Android] 커스텀 리스트 뷰 AdapterView.OnItemClickListener 리스터 동작 안할때
C_Meaning
2021. 11. 29. 15:18
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