Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android重复阵列,直到它匹配适配器';s计数_Android_Arrays - Fatal编程技术网

Android重复阵列,直到它匹配适配器';s计数

Android重复阵列,直到它匹配适配器';s计数,android,arrays,Android,Arrays,我需要你的帮助。我试图做的是重复颜色数组(蓝色、红色、绿色),直到它匹配适配器的计数 这是我的样本: public static final int[] colors = { R.color.main_blue, R.color.main_red, R.color.green_button }; @Override public void onBindViewHolder(ViewHolder holder, final int position) { holder.verticalL

我需要你的帮助。我试图做的是重复颜色数组(蓝色、红色、绿色),直到它匹配适配器的计数

这是我的样本:

public static final int[] colors = { R.color.main_blue, R.color.main_red, R.color.green_button };

@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
    holder.verticalLine.setBackgroundColor(colors[position]);

}
但它将超过数组,因为它只有3个元素。(BoundsException排列)有什么帮助吗?我非常感谢你的帮助。谢谢

holder.verticalLine.setBackgroundColor(colors[position%3]);

使用模3(如果将位置除以3,则得到剩余值。例如1%3=1,5%3=2,6%3=0

我找到了答案。多亏了Jörn Buitink

holder.verticalLine.setBackgroundResource(colors[position%3]) 
从BackgroundColor更改为BackgroundResource,因为R.color是资源而不是颜色


您也可以参考此链接

抱歉,当我们更改为setBackgroundResource时,此链接有效,因为R.color是一个资源