Hvis du vil indlæse billeder fra SQlite, så foreslår jeg, at du gemmer fil-/filplaceringen, hvis dataene er gemt lokalt, for visningen af et enkelt billede på alle billedvisninger er det, fordi du kun indlæser et enkelt billede. for at sætte alle dine id'er i et array og sende det til db'en, skal db-forespørgslen også returnere en array/arrayliste over billedplaceringer, som du skal indlæse i dine billedvisninger ved hjælp af en for loop
jeg har f.eks. en forespørgsel, der indlæser en masse billeder fra min SQLite-database, dette viser underkategoribilleder af en bestemt kategori ved navn sko, så vi har billeder af smart shoes
, Casual shoes
og mere sender jeg et an-id som parameter
public ArrayList<CategoryItem> getAllSubCategories(int mtargetID) throws SQLException{
ArrayList<CategoryItem> myshoes = new ArrayList<>();
// Select All Query
String sQuery = " SELECT "+Constant.CATEGORY_TB_ID+", "+Constant.SUB_DESCRIPTION+
", "+Constant.SUB_IMAGEPATH+" FROM "+Constant.CATEGORY_TABLE+
" INNER JOIN "+Constant.SUB_CATEGORY_TABLE+" ON "+Constant.CATEGORY_TB_ID +" = " +Constant.SUB_CATEGORY_FK
+ " WHERE "+Constant.CATEGORY_TB_ID +" = ?";
String[] args = new String[1];
args[0] = String.valueOf(mtargetID);
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(sQuery, args);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
CategoryItem myShoesItem = new CategoryItem();
//my shoe image path on external storage
myShoeItem.setmCategoryImgPath(cursor.getString(2));
//i add my image paths to my array list
myshoes.add(myShoeItem);
} while (cursor.moveToNext());
}
// return my arraylist for display into my imageview
return mshoes;
}
på den modtagende side går jeg så på tværs af min araylist
for(int i = 0; i <getAllSubCategories.size(); i++ )
{
imageView.setImageUri(getAllSubCategories.get(i).getmCategoryImgPath())
}
med denne metode indstiller du billeder til alle dine billedvisninger.