2011-12-29 30 views
28

私はListViewのBaseAdapterにisEnabledを使用していて、クリック可能な行を制御しています。しかし、私は私のヘッダーのクリックイベントを無効にしたいとisEnabledは動作しません。位置0は最初の行を示しているため、ヘッダーのクリックを制御することはできません。Android ListView Header無効クリック

一方、引数を与えるaddHeaderViewを使用してヘッダを追加すると、それは機能しますが、ディバイダはそのようにはありません。これをどうすれば管理できますか?

この問題を知っている人はいますか?

答えて

83

addHeaderView(header, null, false)を使用できます。ヘッダーの場合は、ヘッダーの内容に下のディバイダーを含むビューを展開します。このビューは私がディバイダに使用したものです。

<View 
    android:layout_width="fill_parent" 
    android:layout_height="1px" 
    android:background="#adaaad" /> 
+43

addHeaderView(view、null、false)を使用すると効果があります。 addHeaderView(view)のデフォルトは "selectable"です。 –

+1

これにより、リスト項目の区切り記号が削除される可能性があります - http://stackoverflow.com/questions/14367278/issue-with-addheaderview-and-missing-list-separator/14368524#14368524 すべてのリストビュー項目とヘッダーを選択できないようにするには'code'listView.setSelector(android.R.color.transparent);' code'を設定することができます。これはセパレータを保持します。 –

+3

これは古い質問ですが、一部のデバイスではデフォルト値が選択可能であり、他の多くは選択できないことを指摘したいと思います。だから、常に3つの引数メソッドを使うのは良いことです。 –

関連する問題