java - 使 RecyclerView 在 SQLITE 数据库的每个 View 中返回唯一的数组

标签 java android android-layout android-recyclerview custom-adapter

@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 将每个 View 分配给 12 张(或更少)图像的不同集合?

由于集合的大小可能会增加,是否有其他方法可以将唯一的图像(最多 12 个)添加到 RecyclerView 的每个 View 中?

最佳答案

bindViewHolder 中返回一个位置元素,您可以在其中使用它。首先,您必须获取 12 个 ImageView 并将它们分配到一个 imageView 数组中。让它采取imgs[]

  @Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {

MyDB db = new MyDB(mContext);

ArrayList<String> images1=db.getCollection(position);
for(int i=0;i<images1.size();i++){
    String path1=images1.get(i);
    holder.imgs[i].setImageURI(Uri.parse(path1));

}
@override
int getItemCount(){
    return 6;
}

关于java - 使 RecyclerView 在 SQLITE 数据库的每个 View 中返回唯一的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59413567/

相关文章:

java - Android检查int是否在interval + switch语句中

java - 用户总是需要按两次谷歌登录按钮

java - J2ME 中可以通过字符串值设置日期字段吗?

java - Android应用程式在手机启动时持续当机

java - SQLite 卡在 SQLite.trampoline() 方法上

android - 相同的 DPI 但不同的英寸尺寸

java - 将对象添加到 ArrayList 的 ArrayList

java - 如何获得波斯语地址

android - 包含在内容布局中时不显示 LinearLayout

android - 只有在 GridLayout 中显示 ViewGroup 的第一个 subview - 后续单元格在视觉上是无 subview 的