1

我在我的 ListView 中实现了按字母顺序排列的部分标题,方法是在我的行布局中添加一个附加TextView元素,并通过在我的自定义 CursorAdapter 中在必要时切换它的属性来使用这个附加元素作为标题。所以我的行布局层次结构由 2组成。ListViewTextViewsetVisibilityTextViewLinearLayout

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

最初,单击标题将执行它所包含的行元素的操作,例如,如果我的列表包含元素“Apple”、“杏”和“鳄梨”,则单击标为“A”的标题' 将执行它所附加的行的任何操作,在此示例中为 'Apple'。TextView我设法通过将表示标题设置为可点击来防止这种情况发生。

但是,我仍然遇到令人讨厌的视觉效果,当我点击“Apple”时,突出显示我在点击时的选择突出显示了整行,因此两者TextView都突出显示。是一个显示我的意思的例子。在此示例中,当我单击“Daft Punk”时,附加的标题“D”也会突出显示。无论如何设置它以便只TextView突出显示第二个?

4

1 回答 1

0

这不受非hacky方式的支持。如果您想正确实现带有部分的列表视图,则有大量使用支持的多视图类型策略的示例。

以下是针对执行您想要的实现和库的两个问题:

Android listview 组 在 ListView 中创建类别?

一个自己动手的教程:

http://w2davids.wordpress.com/android-sectioned-headers-in-listviews/

如果您确实想走 hacky 路线,在这篇文章的评论中,他提到通过利用焦点/单击事件行为错误来拦截触摸。 西里尔·莫蒂尔

于 2013-10-24T00:48:54.937 回答