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新手。试试这个?