2017-08-03 69 views
0

我在这里有一些问题。假设我已完全将String转换为Bitmap,但是当我想使用SimpleAdapter显示为ListView时,它在ImageView中不显示任何内容。添加图像位图到简单的适配器Android

在这里,我的卡代码:

我已经定义变量:

imageProduct = (ImageView)findViewById(R.id.imageId); 

这是获取和JSON转换图片:

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); 
} 

而且我想展示使用此适配器的图像:

@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); 
} 

“名称”和“价格”显示完美,但图像不是。我该怎么办?

回答

相关问题