我有一个listview项目,如下所示。在这些国家和食品之外是两个标题,后跟一个分隔符。在适配器中我编写了代码何时显示和隐藏listview项的标题。我的列表项xml包含
1) Textview -- for showing header
2) view --- for showing divider
3) Textview --- to display country/food name
(我的列表视图如下所示)
Countries
-------------------------
aaa
bbb
ccc
Food
-------------------------
ddd
eee
fff
如果我点击第一个项目,蓝色选择会针对整个项目进行,例如标题,分隔符和国家/地区名称,但对于第二个项目,它看起来没问题。同样地,如果我点击食物的第一项,再次标题,分隔符和&食物项目正在被选中。
我只想选择国家或食品需求,如何抑制分配器上的选择颜色和标题文字
答案 0 :(得分:0)
如果您希望自己选择单个名称,则每个名称都需要是单独的列表项。同样,您可以控制可以选择哪些项目,但是只选择列表项的某些部分会更加困难。
我建议您观看The World of ListView并密切关注有关在ListView中使用不同视图类型的部分。在列表适配器中,您可以将标题和内容定义为具有不同类型,并根据此类型确定可以选择的项目。相关方法为getItemViewType()
和getItemViewTypeCount()
。
答案 1 :(得分:0)
how to prevent listview selection item
您需要禁用所有点击监听器Section Header
。
假设v
是标题部分,所以禁用
v = vi.inflate(R.layout.list_item_section, null);
v.setOnClickListener(null);
v.setOnLongClickListener(null);
v.setLongClickable(false);
有关详情,请浏览Section ListView
你会找到一种方法来做到这一点。