2017-01-09 31 views
0

我正在從Web服務調用中獲取base64字符串。然後我試圖把這個字符串放到列表視圖的圖像視圖中。我在byte []行上得到一個空點異常。我不知道我在做什麼錯誤,或者爲什麼我在調試時得到空值,我能夠獲取數組並逐步完成。將Base64字符串解析爲圖像時的byte [] NULL

String peepPicData = peepWithPic.getThumbnailData(); 
       byte[] imageAsBytes = Base64.decode(peepPicData.getBytes(), Base64.DEFAULT); //the null is here 
       Bitmap parsedImage = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length); 
       holder.mPeepPic.setImageBitmap(parsedImage); 

我不知道爲什麼它的空當將要通過一個數組和步驟。我已經在瀏覽器中的轉換器中嘗試了這個Base64字符串,它的工作原理。

我使用peepWithPic.getThumbnailData()獲取Base64字符串;但是然後在bytep []中得到空值。

如果我把那個base64字符串並插入到字符串peepPicData =「theactualBase64string」我一遍又一遍地得到圖片。爲什麼這不能從getter中獲取,因爲它已經在這個調用之前被設置了?

回答

0

我不得不添加一個空檢查,因爲一些peepWithPic不會執行圖片。這裏是更新的代碼

if (peepWithPic.getThumbnailData() != null) { 
       String peepPicData = peepWithPic.getThumbnailData(); 
       byte[] imageAsBytes = Base64.decode(peepPicData.getBytes(), Base64.DEFAULT); 
       Bitmap parsedImage = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length); 
       holder.mPeepPic.setImageBitmap(parsedImage); 
      } 
相關問題