将背景颜色设置为android中选定的ListView项

cod*_*711 13 android listview selection android-emulator android-listview

我有一个列表视图,显示了几个项目.现在我想滚动到一些特定项目(例如第33项).我知道这可以通过

myList.setSelection(32);
Run Code Online (Sandbox Code Playgroud)

但是在UI上,该项目没有收到任何突出显示(因为它处于触摸模式?!).如何为此项目应用特定背景颜色?我试过了

myList.getSelection().getSelectedView().setBackgroundColor(Color.Red);
Run Code Online (Sandbox Code Playgroud)

但我得到一个NullPointerException,因为getSelectedView()返回null.有没有办法实现这个突出显示?我必须以某种方式告知用户哪个项目是"活动"的...

Mar*_*son 0

也许最简单的方法是使用 State List Drawable 作为背景。这使您能够根据相关控件是否被选择/聚焦/禁用等来应用不同的样式。

有关状态列表可绘制对象的介绍,请查看这篇文章