2011-10-25 42 views
18

私はそれにいくつかのカスタムセクションを持つListViewを持っています。各セクションには独自のヘッダービューがあります。リストの要素をクリック可能にしたいが、明らかにセクションヘッダをクリック可能にしたくない。したがって、セクションヘッダーのxmlではandroid:clickable="false"を追加しました。android:clickable = "true"はクリックできないことを意味しますか?

デバッグ時にセクションヘッダーがまだ私のsetOnItemClickListener()に応答していたことに気付きました。それから私はandroid:clickable="true"をXMLに設定しようとしました。そして確かに、セクションヘッダービューはもはやクリックに反応しません...

ここでは何が取引ですか?なぜそれはその設定ですclickable = trueではないクリックすることができますか?私はここで何か誤解していますか?ここに私のXMLは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/item_text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="@color/black" 
    android:background="@android:color/transparent" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:paddingLeft="30dp" 
    android:clickable="true" /> 

私は一番下にclickable="false"は、このビューはsetOnItemClickListener()への対応を開始することを設定した場合は...

+0

アダプターのコードも追加できますか? –

+1

私は同じ問題を抱えており、カスタムonClickリスナーを追加していません。 –

+0

customeアダプターでビューホルダーを使用して、アダプタークラスにclickeventを付けてみてください.http://stackoverflow.com/questions/27743179/click-event-not-working-on-button-in-listview-item/27743279#27743279 –

答えて

17

あなたがOnItemClickListenerを設定すると、イベントonItemClickedのみが呼び出されますListViewの子にOnClickListenerが設定されていない場合clickableをtrueに設定すると、子ビュー(この場合はTextView)に空のOnClickListenerが表示されます。 TextViewOnClickListenerが設定されているので、OnItemClickListenerは呼び出されません。

+2

私はあなたの説明を理解しようと試みてきましたが、私は運がありません。あなたが言っていることが正しいことを証明するいくつかの基本的なサンプルコードを表示できますか?おそらく私はそれを理解していないだけかもしれない... –

1

android:clickable="true"は、リストアイテムビューの子であったときは書いてはいけないと思います。 listitemのセレクタをお持ちの場合は、ルートタグにsetbackgroundと入力してください。

関連する問題