カスタムリストアイテムを含むListViewがあります。各リストアイテムは、2つの線形レイアウトが隣り合って構成されています。LinearLayout 1 | LinearLayout 2 |
両方のLinearLayoutの状態リストドローアブルを宣言しました。state_pressedでは、LinearLayoutの背景を変更しています。
そしてここに問題があります-ユーザーがLinearLayout2をタップすると、LinearLayout2の背景のみが変更され、LinearLayout1の背景は変更されないままになります。一方、ユーザーがLinearLayout1をタップした場合は、LinearLayout1の背景のみを変更する必要があります。しかし、ユーザーが両方のLinearLayoutのいずれかをタップすると、両方の背景が変更されます。
LinearLayout2をタップしたときの動作は、onListItemClick()のようになりますが、ユーザーがLinearLayout1をタップしたときは、ダイアログが表示されます(これが重要な場合)。
背景の変更の問題をどのように解決できますか?フォーカス可能でクリック可能なオプションで遊んでみました。両方のLinearLayoutsにclickable=trueを設定した場合、LinearLayout2の子(TextViews)は色を変更しません(TextViewsはテキストの色を変更する必要があります)。
ありがとうございました!