使RecyclerView从SQLITE数据库的每个视图中返回唯一的数组

问题描述 投票:0回答:2
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {

MyDB db = new MyDB(mContext);

ArrayList<String> images1=db.getCollection(1); // Returns 2 image URIs in an array
ArrayList<String> images2=db.getCollection(2); // 0 images
ArrayList<String> images3=db.getCollection(3); // 2 images
ArrayList<String> images4=db.getCollection(4); // 10 images
ArrayList<String> images5=db.getCollection(5); // 5 images
ArrayList<String> images6=db.getCollection(6); // 12 images

//Maximum 12 images per collection

我尝试过:

for(int i=0;i<images1.size();i++){

String path1=images1.get(i);
holder.img1.setImageURI(Uri.parse(path1));

}

for(int j=0;j<images2.size();j++){

String path2=images2.get(i);
holder.img2.setImageURI(Uri.parse(path2));

}

for(int k=0;k<images3.size();k++){

String path3=images3.get(i);
holder.img3.setImageURI(Uri.parse(path3));

}

//Sets each view the same, of course.

我如何获得recyclerview来将每个视图分配给12张(或更少)图像的不同集合?

由于集合的大小会增加,是否有另一种方法可以将唯一的图像(最多12张)放入RecyclerView的每个视图中?

java android android-layout android-recyclerview custom-adapter
2个回答
0
投票
这样的东西

override fun onBindViewHolder(holder: NoteViewHolder, position: Int) { // when(noteModel.noteColor){ 1 -> holder.relativeBack.setBackgroundColor(context.resources.getColor(android.R.color.holo_red_light)) 2 -> holder.relativeBack.setBackgroundColor(context.resources.getColor(android.R.color.holo_green_light)) } }

您可以在此GitHub project file 中找到示例代码

here上的完整源代码
© www.soinside.com 2019 - 2024. All rights reserved.