2017-08-03 4 views
0

J'ai eu un problème ici. Laissez-je suppose déjà convertir String-Bitmap parfaitement mais quand je veux montrer à l'aide ListViewSimpleAdapter, son rien spectacle ImageView.ajouter une image bitmap à l'adaptateur simple Android

Ici, mon Code pression:

Je définis déjà la variable:

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

est d'obtenir et convertir l'image de 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); 
} 

Et je veux montrer la image avec cet adaptateur:

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

"Nom", et "Prix" est montré parfaitement, mais l'image ne l'est pas. Que devrais-je faire?

Répondre