1

我添加了一个自定义对话框,里面只有一个简单的 listView。

按下项目时,我没有得到选择颜色(通常出现在列表视图中,无需任何额外设置)。点击监听器工作等。但不是颜色。

还尝试显式设置选择器:

list.setSelector(R.color.blue);

但它不会发生任何事情。还尝试为列表设置不同的背景颜色,仍然没有选择颜色。

4

3 回答 3

0

您创建的颜色资源可能有问题,因为我能够更改选择嵌入在自定义对话框中的列表项的颜色,使用list.setSelector(R.color.blue);.

于 2012-06-03T20:06:17.857 回答
0

好的,我回答这个问题迟到了,但我找到了实际答案,以防将来有人在寻找答案。这里的其他两个答案不起作用。

所以我有一个 ListView,它有一个自定义 ListView 行,以 drawables 作为背景。这样做可以使默认的 PRESSED 灰色高光不会闪烁并打开,就像您在长按时一样。发生的事情是 ListView 正在在视图下方绘制选择器(如果有的话)。以下是您修复它的方法:

在 onCreate 中:

// this sets the selector/pressed drawable or you could use a color or whatever
listView.setSelector(getResources().getDrawable(R.drawable.listviewrow_pressed));

// this draws the selector drawable/color on top
listView.setDrawSelectorOnTop(true);
于 2014-07-08T03:05:55.930 回答
0

我有同样的问题。通过添加修复它:

StateListDrawable drawable = new StateListDrawable();
drawable.addState(new int[] { android.R.attr.state_pressed }, new ColorDrawable(Color.BLUE));
view.setBackgroundDrawable(drawable);

toListView的适配器getView()方法。

于 2012-09-25T10:31:58.190 回答