SQliteから画像をロードする場合は、データがローカルに保存されている場合はファイル/ファイルの場所を保存することをお勧めします。すべての画像ビューに単一の画像を表示するには、単一の画像のみをロードするためです。すべてのIDを配列に入れて、それをdbに渡すには、dbクエリは、for loop
を使用して画像ビューにロードする必要がある画像の場所の配列/配列リストも返す必要があります。 たとえば、SQLiteデータベースから一連の画像を読み込むクエリがあります。これにより、shoesという名前の特定のカテゴリのサブカテゴリ画像が表示されるため、smart shoes
の画像が表示されます。 、Casual shoes
さらに、パラメータとしてIDを渡します
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;
}
受信側では、次に、私のaraylistを横断します
for(int i = 0; i <getAllSubCategories.size(); i++ )
{
imageView.setImageUri(getAllSubCategories.get(i).getmCategoryImgPath())
}
この方法では、すべての画像ビューに画像を設定します。