2015-10-15 68 views
0

我已存儲的視頻縮略圖在一個HashMap是這樣的:難度檢索位圖從哈希映射

HashMap cacheBitmap = new HashMap<String, Bitmap>(filesArry.length); 
for(String string:filesArry) { 
     cacheBitmap.put(string, ThumbnailUtils.createVideoThumbnail(fpath + string, MediaStore.Video.Thumbnails.MINI_KIND)); 
    } 

的filesArry是一個字符串數組有每個縮略圖的視頻名稱。

的問題是這裏的getView(...)方法中:

ImageView imageThumbnail = (ImageView)row.findViewById(R.id.Thumbnail); 
imageThumbnail.setImageBitmap(cacheBitmap.get(filesArry[position])); 

它給下得到錯誤(...),上面寫着:「setImageBitmap(android.graphits.Bitmap)在ImageView的不能適用於(java.lang.Object中)

我試圖改變位圖Hashmap<String, Bitmap>到繪製對象,進入對象,但這似乎並沒有修復錯誤。

感謝您的任何想法。

+0

發佈適配器 – Blackbelt

回答

4

類型參數丟失在你的宣言:

HashMap cacheBitmap = ... 

將其更改爲:

HashMap<String, Bitmap> cacheBitmap = ... 

沒有這一點,該類型實際上是HashMap<Object, Object>,這就是爲什麼get方法返回一個Object類型,而不是Bitmap 。固定宣言將解決您的問題。

去了一步,你的宣言將得到更好的使用接口類型,而不是執行:

Map<String, Bitmap> cacheBitmap = ... 
+0

OMG!你是對的。非常感謝:)它說我可以在6分鐘內接受答案:(我一定會。 – fullMoon