滚动ListView会将所有内容从白色更改为黑色

Cam*_*ide 52 android

我有一个自定义列表视图,我希望列表的背景是白色的,所以我做这样的事情,效果很好.

listView = (ListView) this.findViewById(R.id.listview);
listView.setBackgroundColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)

问题是当你滚动列表时,所有列表项的背景变为黑色,这看起来很糟糕.

我在列表视图中尝试将背景颜色设置为白色.当我给视图充气时,我也尝试将背景颜色设置为白色:

view.setBackgroundColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)

这两个都解决了滚动背景颜色的问题,但现在该项目似乎不是可点击的,即使它是.我的意思是onClick仍然可以正常工作,但背景不闪现橙色让用户知道他点击了它.

如何在列表视图中显示白色背景,滚动时保持白色,并且正常列表活动橙色单击背景?

谢谢!

Rom*_*Guy 118

解决方案非常简单,您还需要将缓存颜色提示设置为白色:setCacheColorHint(Color.WHITE).您无需更改列表项的背景颜色.

  • listView.setCacheColorHint(Color.TRANSPARENT); 或android:cacheColorHint ="#00000000"//重复使用背景颜色 (36认同)

Sab*_*ado 7

ListView lv = getListView();
setCacheColorHint(0);
Run Code Online (Sandbox Code Playgroud)

将缓存颜色提示设置为零.


Goo*_*gle 6

解决方案非常简单,您还需要在xml中将缓存颜色提示设置为黑色.

android:cacheColorHint="#000000"
Run Code Online (Sandbox Code Playgroud)