我添加了一个自定义对话框,里面只有一个简单的 listView。
按下项目时,我没有得到选择颜色(通常出现在列表视图中,无需任何额外设置)。点击监听器工作等。但不是颜色。
还尝试显式设置选择器:
list.setSelector(R.color.blue);
但它不会发生任何事情。还尝试为列表设置不同的背景颜色,仍然没有选择颜色。
您创建的颜色资源可能有问题,因为我能够更改选择嵌入在自定义对话框中的列表项的颜色,使用list.setSelector(R.color.blue);
.
好的,我回答这个问题迟到了,但我找到了实际答案,以防将来有人在寻找答案。这里的其他两个答案不起作用。
所以我有一个 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);
我有同样的问题。通过添加修复它:
StateListDrawable drawable = new StateListDrawable();
drawable.addState(new int[] { android.R.attr.state_pressed }, new ColorDrawable(Color.BLUE));
view.setBackgroundDrawable(drawable);
toListView
的适配器getView()
方法。