我正在为列表视图构建一个自定义适配器-我希望这个适配器为列表视图提供交替的背景颜色。
boolean alternate = false;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (alternate)
{
// set background colour of this item?
}
alternate = !alternate;
// lots of other stuff here
return convertView; }
如何在上下文中设置列表视图项的背景?
8条答案
按热度按时间smdnsysy1#
以下是执行显示的步骤。步骤1.1)使用两个选择器用于奇数和偶数位置列表项
artists_list_backgroundcolor.xml
步骤1.2)艺术家_列表_背景_替代. xml
步骤2)颜色. xml
步骤3)在阵列适配器中:
有关详细信息,请通过下面的日志链接
http://amitandroid.blogspot.in/2013/03/android-listview-with-alternate-list.html
ctrmrzij2#
如果视图被重复使用,你可能会得到意想不到的结果,一些回收的视图将有不同的颜色,而其他人没有。
而不是上面的,设置基于位置的背景。
kmynzznz3#
您可以使用以下代码:
7uzetpgm4#
如果我说错了,请纠正我,但我是这样做的:
o0lyfsai5#
你可以在你的适配器
将应用于所有项目
6uxekuva6#
djp7away7#
x1c 0d1x我想强调一下解决方案,这样人们就不会感到困惑。
如果你想要颜色/图像,或者在绘制时在列表视图上做任何改变,你需要在getView中设置它,如下所示,但是如果你想在单击时显示它,你需要在onClick方法中完成它,如下所示。
我的布尔检查就是一个布尔数组,如
我在ArrayAdapater构造函数的my子类中初始化它。
kiayqfof8#
首先,您可以在适配器中创建一个颜色列表,如下所示-〉
你可以检查一下这张图片的清晰度。
〈img enter image description here〉
然后在onBindviewholder中添加此逻辑(if条件),如下所示,这里itemtxt是卡片视图的id-〉