Se você deseja carregar imagens do SQlite, sugiro que salve o arquivo/local do arquivo se os dados estiverem armazenados localmente, para a exibição de uma única imagem em todas as visualizações de imagem é porque você está carregando apenas uma única imagem, talvez você queira para colocar todos os seus ids em um array e passá-lo para o db, a consulta db também deve retornar um array/arraylist de locais de imagem que você deve carregar em suas visualizações de imagem usando um
for loop
por exemplo, eu tenho uma consulta que carrega um monte de imagens do meu banco de dados SQLite, isso exibe imagens de subcategoria de uma determinada categoria chamada sapatos, então temos imagens de smart shoes
, Casual shoes
e mais eu passo um an Id como parâmetro 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;
}
no lado receptor eu então atravesso minha lista de arays
for(int i = 0; i <getAllSubCategories.size(); i++ )
{
imageView.setImageUri(getAllSubCategories.get(i).getmCategoryImgPath())
}
com este método, você definirá imagens para todas as suas visualizações de imagem.