单击Android ListView行时,如何选择性突出显示元素?

单击Android ListView行时,如何选择性突出显示元素?,android,android-listview,Android,Android Listview,我通过在我的ListView行布局中添加一个额外的TextView元素,并通过在自定义游标适配器中必要时切换它的setVisibility属性,将这个额外的TextView元素用作标题,在我的ListView中实现了按字母顺序排列的节标题。因此,我的行布局层次结构由垂直线性布局中的2个TextView组成 我希望节标题独立于它所包含的行元素 最初,单击标题将执行它所包含的行元素的操作,因此,例如,如果我的列表由元素“Apple”、“Apricot”和“Avocado”组成,则单击标记为“A”的标

我通过在我的
ListView
行布局中添加一个额外的
TextView
元素,并通过在自定义游标适配器中必要时切换它的
setVisibility
属性,将这个额外的
TextView
元素用作标题,在我的ListView中实现了按字母顺序排列的节标题。因此,我的行布局层次结构由垂直
线性布局中的2个
TextView
组成

我希望节标题独立于它所包含的行元素

最初,单击标题将执行它所包含的行元素的操作,因此,例如,如果我的列表由元素“Apple”、“Apricot”和“Avocado”组成,则单击标记为“A”的标题将执行它所附加到的行的任何操作,在本例中,这将是“Apple”。我通过将表示标题的
TextView
设置为可点击来防止这种情况发生


然而,我仍然被一种恼人的视觉效果所困扰,当我点击“苹果”时,高亮显示我在点击时选择的内容会高亮显示整行,因此这两个
TextView
都会高亮显示。这是一个例子,说明了我的意思。在本例中,当我单击“愚蠢朋克”时,附加的标题“D”也会高亮显示。是否要设置为只突出显示第二个
TextView

非黑客方式不支持。如果您想正确地实现带有节的listview,那么有大量使用支持的多视图类型策略的示例

以下是实现和LIB的两个问题:

您自己的滚动教程:

如果你真的想走黑客路线,在这篇文章的评论中,他提到了利用focus/click事件行为bug拦截触摸。