2011-05-16 31 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イベントは生成されませんが、TextViewsはセレクタに従ってその背景を変更します)。親イベントから子ビューへのタッチイベントを伝播しないようにシステムに指示するアイデアはありますか?

+0

は、カスタムリストビューを作成dispatchTouchEventをオーバーライドして、そこのスーパーメソッドを呼び出すが、伝播を防ぐためにtrueを返すことを試みるあなたのTextViewに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