包含“灰显”项目的Android列表

时间:2009-08-07 19:38:26

标签: android listview

在Android中,我想向用户显示一个列表。当选择列表中的项目时,将执行某些操作,并且不再可选择此列表项目。它也是“灰显”或类似的,表示下次显示列表时无法选择它。我在Adapter中看到了isSelectable()覆盖,但我相信这会导致该项被视为分隔符,从而导致视觉问题。我还没有找到一种方法来“灰化”一个项目。有任何想法吗?感谢...

3 个答案:

答案 0 :(得分:8)

至于灰色物品。我不确定这是不是最好的方式,但这就是我的工作:

view.setAlpha(75);
view.setBackgroundColor(Color.GRAY);

我基本上是让项目透明,然后将背景颜色设置为灰色。如果您正在重复使用您的清单项目,如果条件不满足,您还应将其更改回原始状态,即:

view.setAlpha(255);
view.setBackgroundColor(Color.WHITE);

即,如果您的原始状态不是透明度且背景颜色为白色。

答案 1 :(得分:2)

您需要禁用该视图。如果要创建视图,只需在顶视图上调用.setDisabled(boolean)。根据我的经验,设置要禁用的列表项不起作用。

答案 2 :(得分:2)

这是我正在使用的解决方案。我为ListView设置了一个OnItemClickListener。单击列表中的项目时,我会使用传入的视图并在其上调用 setEnabled(false)。这会使项目变灰。但是,后续单击此项目仍将调用onItemClick方法。因此,如果项目已启用/禁用,您需要检查每次点击并采取相应措施。

相关问题