get_imagesには4つレコードがあるとして
3つ目のレコードがなかった場合、
最終的にget_bmpには3つの配列が作られるが
get_bmpの3つの配列が
get_imagesの4つめのレコードの画像だとわかるようにしたい。
どうすれば実現できますでしょうか?
//OK //imageModelの対象レコードから情報取得をbyteでゲット ArrayList<byte[]>wishlist_item_images = new ArrayList<>(); ArrayList<Bitmap> get_bmp = new ArrayList<>(); //OK //対象レコードから画像があるレコードだけを抽出 for (int i = 0; i < get_images.size(); i++) { //対象レコードに画像なければスキップ if(get_images.get(i).image != null) { wishlist_item_images.add(get_images.get(i).image); byte[] bytes = wishlist_item_images.get(i); //対象画像(BLOB=>byte)をBitmap形式に変換 if(bytes != null ) { get_bmp.add(BitmapFactory.decodeByteArray(bytes, i, bytes.length)); } } } //最終的に使いたい画像が何個入ってるか確認 System.out.println("テスト[" + new java.util.Date()+ "]:" + get_bmp.size()); //該当レコードを取得すべき処理はここで終わり
追記:どういうロジックが必要でしょうか???
//表示させるImageViewを取得 ImageView ImageViewMainImage = (ImageView) findViewById(R.id.ImageView_mainImage); ImageView ImageViewSubImage1 = (ImageView) findViewById(R.id.ImageView_subImage1); ImageView ImageViewSubImage2 = (ImageView) findViewById(R.id.ImageView_subImage2); ImageView ImageViewSubImage3 = (ImageView) findViewById(R.id.ImageView_subImage3); ArrayList<ImageView> imageViews = new ArrayList<>(); imageViews.add(ImageViewMainImage); imageViews.add(ImageViewSubImage1); imageViews.add(ImageViewSubImage2); imageViews.add(ImageViewSubImage3); System.out.println("テスト[" + new java.util.Date()+ "]:" + imageViews); //3つ目のレコードがなかった場合4つ目のレコード画像が3つ目の配列としてget_bmpに入る //ImageView 表示させたい画像 // 1 1 // 2 2 // 3 3(実質4番目の画像) // 4 //こうならないといけない //ImageView 表示させたい画像 // 1 1 // 2 2 // 3 何もしない // 4 3(実質4番目の画像) //ImageViewの数だけ繰り返す for (int i = 0; i < imageViews.size(); i++) { imageViews.get(i).setImageBitmap(get_bmp.get(i)); imageViews.get(i).setVisibility(View.VISIBLE); }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。