【发布时间】:2011-10-04 13:45:27
【问题描述】:
我有一个带有自定义列表项的 ListView。每个列表项由 2 个并排的线性布局组成。 线性布局 1 |线性布局 2 |
我已经为两个 LinearLayouts 声明了状态列表可绘制对象,在 state_pressed 中我正在更改 LinearLayout 的背景。
问题来了 - 当用户点击 LinearLayout2 时,只有 LinearLayout2 的背景应该改变,LinearLayout1 的背景应该保持不变。另一方面,当用户点击 LinearLayout1 时,仅应更改 LinearLayout1 的背景。但是现在当用户点击两个 LinearLayout 中的任何一个时,它们都会改变背景。
在 LinearLayout2 上点击的行为应该与 onListItemClick() 一样,而当用户在 LinearLayout1 上点击时,应该会出现一个对话框(如果这很重要的话)。
有什么想法可以解决背景更改问题吗?我尝试过使用可聚焦和可点击的选项。如果我将 clickable=true 设置为两个 LinearLayouts,LinearLayout2 的子项(TextViews)不会改变它们的颜色(TextViews 应该改变它们的文本颜色)。
谢谢!
【问题讨论】:
-
请详细说明,您的列表视图行是否包含两个布局或其他内容
-
LinearLayout1 仅包含一个 ImageView。 LinearLayout2 包含几个 TextViews 和 ImageViews。 LinearLayout1 和 2 都放在一个具有orientation=horizontal 的父LinearLayout 中。
标签: android listview android-listview focusable statelist