2011-05-16 145 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> 

現在,當用戶按下整個行中,被按壓的每個的TextView被以及(沒有真正按下 - 沒有生成onClick事件,但是TextView根據它們的選擇器改變它的背景)。任何想告訴系統不要將觸摸事件從父視圖傳播到子視圖?

+0

嘗試創建自定義的ListView,覆蓋dispatchTouchEvent並調用父類方法有,但返回true,以防止傳播。 – Flavio 2011-05-16 12:26:34

+0

我在這裏找到解決方案http://stackoverflow.com/questions/6741908/android-child-elements-sharing-pressed-state-with-their-parent-even-when-duplica/7235953#7235953 – aeracode 2011-10-07 22:11:16

回答

2

您可以在自己的TextView設置android:duplicateParentState="false"

+1

此解決方案不在我的ListView中工作 – aeracode 2011-10-07 22:12:08

+0

視圖是否已按下狀態不依賴於duplicateParentState。 – yuku 2011-11-23 06:21:56