2

我有一个使用两种不同行布局的列表视图。一种是显示日期标题,另一种是显示该日期的一组任务。当用户触摸它时,我不想突出显示日期标题。也就是说,我不希望包含日期标题的视图的背景发生任何变化。

到目前为止,我已经完成了以下操作:

v.setEnabled(false);
v.setClickable(false);
v.setFocusableInTouchMode(false);

其中 v 是从包含日期标题的布局中膨胀的视图。

视图的原始背景是白色的,当它没有与用户的手指接触时。最初,日期标题视图在触摸时会有蓝色背景。在上面的代码之后,背景现在是灰色的。即使在触摸时,我也不希望背景从白色变为白色。

4

1 回答 1

0

您应该覆盖isEnabled(int position)自定义适配器中的方法。从官方 API 页面:

如果指定位置的项目不是分隔符,则返回 true。(分隔符是不可选择、不可点击的项目)。如果位置无效,则结果未指定。在这种情况下应抛出 ArrayIndexOutOfBoundsException 以快速失败。

于 2013-03-06T23:41:10.777 回答