2

2 つの異なる行レイアウトを使用するリスト ビューがあります。1 つは日付ヘッダーを表示するもので、もう 1 つはその日付の一連のタスクを表示するものです。ユーザーがヘッダーに触れたときに、日付ヘッダーを強調表示したくありません。つまり、日付ヘッダーを含むビューの背景を変更したくありません。

私は今のところ次のことをしました:

v.setEnabled(false);
v.setClickable(false);
v.setFocusableInTouchMode(false);

ここで、v は、日付ヘッダーを含むレイアウトから膨張したビューです。

ユーザーの指が触れていないときのビューの元の背景は白です。最初は、日付ヘッダー ビューの背景は青色でした。上記のコードの後、背景は灰色になりました。タッチしても背景が白から変わりたくない。

4

1 に答える 1

0

isEnabled(int position)カスタム アダプタでメソッドをオーバーライドする必要があります。公式APIページから:

指定された位置にある項目がセパレーターでない場合は true を返します。(区切り記号は、選択もクリックもできないアイテムです)。位置が無効な場合、結果は規定されていません。その場合、迅速な失敗のために ArrayIndexOutOfBoundsException をスローする必要があります。

于 2013-03-06T23:41:10.777 に答える