我有一个列表视图,它使用两种不同的行布局。 一种是显示日期标题,另一种是显示该日期的一组任务。 我不希望在用户时突出显示日期标题 接触它。也就是说,我不希望包含日期标题的视图的背景以任何方式改变。
截至目前,我已完成以下工作:
v.setEnabled(false);
v.setClickable(false);
v.setFocusableInTouchMode(false);
其中v是从包含日期标题的布局中膨胀的视图。
当未与用户的手指接触时,视图的原始背景为白色。 最初,日期标题视图在触摸时将具有蓝色背景。 在上面的代码之后,背景现在是灰色的。 即使在触摸时我也不希望背景从白色变化。
答案 0 :(得分:0)
您应该覆盖自定义适配器中的isEnabled(int position)
方法。从官方API页面:
如果指定位置的项目不是分隔符,则返回true。 (分隔符是 不可选择的,不可点击的项目)。如果位置无效,则结果未指定。一个 在这种情况下,应该抛出ArrayIndexOutOfBoundsException以便快速失败。