0
私はここにいくつかの問題がありました。 String
をすでにBitmap
に変換しているとしますが、ListView
にSimpleAdapter
を使用して表示する場合、その表示は何もImageView
にありません。ここでイメージを単純なアダプタに追加するAndroid
、私のスナップコード:
私はすでに変数を定義します。
JSONArray productDetails = new JSONArray(jsonStr2);
for(int j=0 ;j<productDetails.length();j++){
HashMap<String, Object> productData = new HashMap<String,Object>();
JSONObject q = productDetails.getJSONObject(j);
String productName = q.getString("Name");
String productPrice = q.getString("Price");
String productImage = q.getString("Image");
String encodeImage = productImage.replace("data:image/jpeg;base64,","").replace("data:image/png;base64,","");
byte[] decodedString = Base64.decode(encodeImage,Base64.DEFAULT);
Bitmap base64Bitmap = BitmapFactory.decodeByteArray(decodedString,0,decodedString.length);
productData.put("productName",productName);
productData.put("productPrice",productPrice);
productData.put("base64Bitmap",base64Bitmap);
orderDetailList.add(productData);
}
そして私が見せたい:
imageProduct = (ImageView)findViewById(R.id.imageId);
これはJSONからイメージを取得して変換することですこのアダプタの画像:
@Override
protected void onPostExecute(Object result) {
super.onPostExecute(result);
if (pDialog.isShowing()) {
pDialog.dismiss();
}
SimpleAdapter adapter1 = new SimpleAdapter(
OrderDetailActivity.this, orderDetailList,
R.layout.list_item_product, new String[]{"productName","productPrice","base64Bitmap"},
new int[]{R.id.productName,R.id.productPrice,R.id.imageId}
);
lv.setAdapter(adapter1);
}
「名前」、「価格」は完全に表示されていますが、画像は完全ではありません。私は何をすべきか?これによると、解決