2011-05-21 68 views
1

我在iPhone應用程序中工作得很好,但在Android中遇到問題。我在兩個應用中都使用相同的網址/數據。當我在我的ListView中將圖像設置爲來自字節的位圖時,圖像不會出現。數據在那裏。這裏就是我給你的視圖代碼:Android字節到位圖

if (camera.snapshot != null) 
    { 
     bMap = BitmapFactory.decodeByteArray(camera.snapshot, 0, camera.snapshot.length); 
     image.setImageBitmap(bMap); 
    } 

這是我的字符串數據轉換成字節:

camera.snapshot = responseData.getBytes(); 

的圖像是PNG文件。它們的大小大約是我需要它們的4倍大小,但我認爲它們的大小將完全符合我設置ImageView的範圍。

在iPhone上,我只是簡單地使用NSData,然後在ImageView中使用預先構建的方法將它變成圖像。它完美的工作!我在這裏錯過了什麼?

回答

0

您可能需要使用decodeByteArray的4參數版本:請參閱http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeByteArray%28byte[],%20int,%20int, %20android.graphics.BitmapFactory.Options%29。

選項取決於PNG圖像的類型,因此您可能需要試驗。對於一個通用的PNG,可能是這樣的?

BitmapFactory.Options opt = new BitmapFactory.Options(); 
opt.inDither = true; 
opt.inPreferredConfig = Bitmap.Config.ARGB_8888; 

你可以看到http://developer.android.com/reference/android/graphics/BitmapFactory.Options.htmlhttp://developer.android.com/reference/android/graphics/Bitmap.Config.html瞭解更多詳情。

0

這裏的一切都很好。因此,您需要進行調試以嘗試找到問題的其他位置。即Camera.snapshot = null?即您可能無法正確獲取數據。或者在佈局中也可能存在顯示圖像視圖的問題。嘗試將預定義的圖像設置爲imageview並查看是否顯示。這樣你就可以跟蹤問題。

+0

我已經完成了這些事情。我實際上在視圖中有一個默認圖像。並且快照不是空的。 :( – spentak 2011-05-21 15:35:17