Android 如何更改cardbackground动态从阵列中获取图像,以及如何重复这些图像阵列?

Android 如何更改cardbackground动态从阵列中获取图像,以及如何重复这些图像阵列?,android,android-cardview,android-recyclerview,cardview,Android,Android Cardview,Android Recyclerview,Cardview,以下是我的查看活页夹代码- @Override public void onBindViewHolder(CardContentHolder holder, int position) { ListItem item = listdata.get(position); holder.title.setText(item.getTitle()); holder.subtitle.setText(item.getSubtitle()); holder.datetim

以下是我的查看活页夹代码-

 @Override
public void onBindViewHolder(CardContentHolder holder, int position) {
    ListItem item = listdata.get(position);
    holder.title.setText(item.getTitle());
    holder.subtitle.setText(item.getSubtitle());
    holder.datetime.setText(item.getTimestamp());
   holder.datetimeii.setText(item.getTimestampii());
    String outImage=item.getImage();
    String outImageii=item.getImageii();


    final int THUMBSIZE = 64;


    if(!outImage.isEmpty()) {
        holder.secondaryicon.setImageBitmap(ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(outImage),
                THUMBSIZE, THUMBSIZE));
        holder.secondaryicon.setVisibility(View.VISIBLE);
    }
    else {
        holder.secondaryicon.setVisibility(View.GONE);
    }

    if(!outImageii.isEmpty()) {
        holder.secondaryiconii.setImageBitmap(ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(outImageii),
                THUMBSIZE, THUMBSIZE));
        holder.secondaryiconii.setVisibility(View.VISIBLE);
    }
    else {
        holder.secondaryiconii.setVisibility(View.GONE);
    }
    if (Pref.getmInstance(context).getTheme() == 4) {
        holder.title.setTextColor(context.getResources().getColor(R.color.colorPrimaryDark));
        holder.subtitle.setTextColor(context.getResources().getColor(R.color.textGreyHeader));
        holder.datetime.setTextColor(context.getResources().getColor(R.color.textGreyHeader));
        //holder.datetime.setTextColor(context.getResources().getColor(R.color.white));
    }
    if (Pref.getmInstance(context).getTheme() == 2) {
    if(position==0){
        holder.itemView.setBackgroundColor(Color.BLACK);
    }else{
        holder.itemView.setBackgroundColor(context.getResources().getColor(R.color.textGreyHeader));

    }
    }
    // no-op
}
在主题2中,我想要这样的图像

滚动背景时,cardview图像应连续加载。 在6个图像组中重复模式


谢谢。

创建一个助手方法来循环您的资源

@DrawableRes
private int getBackgroundImageResource(int position,  int[] imageResources) {
    return imageResources[position % imageResources.length];
}
全局声明整型可绘制数组

int[] imageResources = new int[]{
                R.drawable.ic_account_box_black_24dp,
                R.drawable.ic_add_white_24dp
                // Feel free to add more resources
        };
并在您的
onBindViewHolder

int backgroundImage = getBackgroundImageResource(position, imageResources);

获取项目位置和模运算。如果余数为0,则设置一种颜色作为卡片背景色,1另一种颜色,依此类推。好的,谢谢,我照你说的做了。但是,如何设置cardview背景,holder.itemView.setBackground(上下文,背景图像);抱歉,我是android新手。试试这个?