2011-05-16 3 views
2


ListView이 있습니다. 각 목록 요소는 레이아웃이처럼 보이는하여 구성된다터치 이벤트의 전파

some_selector.xml은 다음과 같이보고한다 :

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_pressed="true" android:drawable="@drawable/ic_btn_stop_pressed" /> 

    <item android:drawable="@drawable/ic_btn_stop_default" /> 
</selector> 

을 이제 사용자를 눌러 전체 행, 각 텍스트 뷰뿐만 아니라 누르고있는 경우 (실제로는 누르지 않음 - onClick 이벤트는 생성되지 않지만 TextViews는 선택기에 따라 배경을 변경합니다). 부모 이벤트에서 자식보기로 터치 이벤트를 전파하지 않도록 시스템에 알리는 아이디어는 무엇입니까?

+0

는, 사용자 정의 목록보기를 만들 dispatchTouchEvent을 무시하고이 슈퍼 메소드를 호출하지만 전파를 방지하기 위해 true를 반환하려고 당신의 텍스트 뷰에 android:duplicateParentState="false"을 설정할 수 있습니다. – Flavio

+0

해결책을 찾았습니다. http://stackoverflow.com/questions/6741908/android-child-elements-sharing-pressed-state-with-their-parent-even-when-duplica/7235953#7235953 – aeracode

답변

2

당신은

+1

이 해결책은 내 ListView에서 작업 – aeracode

+0

보기가 눌려져 있는지 여부는 duplicateParentState에 의존하지 않습니다. – yuku