2017-08-03 17 views
0

私はここにいくつかの問題がありました。 StringをすでにBitmapに変換しているとしますが、ListViewSimpleAdapterを使用して表示する場合、その表示は何も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); 
} 

「名前」、「価格」は完全に表示されていますが、画像は完全ではありません。私は何をすべきか?これによると、解決

答えて

関連する問題