[Android] 부모 레이아웃에 클릭 이벤트를 설정했는데 자식 레이아웃 클릭 할 때 부모레이아웃 클릭 이벤트 적용 안될때

2021. 11. 15. 09:10모바일/Android_Java

부모 레이아웃에 클릭 이벤트를 설정했는데 자식 레이아웃 클릭 할 때 부모레이아웃 클릭 이벤트 적용 안될때

<RelativeLayout>
    <CheckBox>
    </CheckBox>
    <TextView>
    </TextView>
</RelativeLayout>

위와 같은 구조를 가진 상태에서 RelativeLayout에 클릭 이벤트를 주었다 텍스트 뷰 클릭시에는 부모레이아웃의 클릭 이벤트를 정상적으로 수신했는데, 체크박스쪽 영역을 클릭시에는 부모레이아웃의 클릭 이벤트를 가로채는상황이 발생했다..

해결책

<RelativeLayout>
    <CheckBox
       android:focusable="false"
       android:clickable="false"
              >
    </CheckBox>
    <TextView>
    </TextView>
</RelativeLayout>

를 추가하여 부모이벤트로 클릭 이벤트를 dispatch한다.

출처 : https://stackoverflow.com/questions/4415528/how-to-pass-a-views-onclick-event-to-its-parent-on-android