如何防止列表视图选择项

时间:2014-04-14 03:43:11

标签: android listview android-listview adapter android-adapter

我有一个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

如果我点击第一个项目,蓝色选择会针对整个项目进行,例如标题,分隔符和国家/地区名称,但对于第二个项目,它看起来没问题。同样地,如果我点击食物的第一项,再次标题,分隔符和&食物项目正在被选中。

我只想选择国家或食品需求,如何抑制分配器上的选择颜色和标题文字

2 个答案:

答案 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

你会找到一种方法来做到这一点。