2012-03-16 73 views
1

我無法創建我在模擬器的SD卡中放置的視頻文件的縮略圖。 我得到的消息:在SD卡中創建視頻文件的縮略圖

03-16 14:31:32.646: ERROR/MiniThumbFile(19847): Unable to create .thumbnails directory /mnt/sdcard/DCIM/.thumbnails and a null pointer exception.

if (convertView == null) { 
    iView = new ImageView(mContext); 
    System.out.println("The path to the video" + filePath); 
    Bitmap map = MediaStore.Images.Thumbnails.getThumbnail(
     getContentResolver(), position, 
     MediaStore.Video.Thumbnails.MICRO_KIND, null); 
    System.out.println("map^^^^^^^" + map); 

    iView.setImageBitmap(map); 
    iView.setLayoutParams(new GridView.LayoutParams(96, 96)); 
    iView.setPadding(8, 8, 8, 8); 
} else { 
} 
return convertView; 
+0

整個logcat的請。 – Deva 2012-03-16 09:07:11

回答

2

我覺得這裏的問題之一(雖然這將是更好地看到所謂的完整的方法),對空指針的一個是,雖然你正在檢查convertView是否爲空,您不對它做任何處理,然後返回相同的convertView(第一次調用時爲null)。

鑑於視圖的名稱(convertView),我假定您正在從適配器實現getView(...)方法。在這裏返回一個空對象會給你一個NullPointerException

爲了避免這種嘗試這樣做:

if (convertView == null) { 
    iView = new ImageView(mContext); 
    iView.setLayoutParams(new GridView.LayoutParams(96, 96)); 
    iView.setPadding(8, 8, 8, 8); 
} else { 
    iView = (ImageView) convertView; 
} 
Bitmap map = MediaStore.Images.Thumbnails.getThumbnail(
    getContentResolver(), position, 
    MediaStore.Video.Thumbnails.MICRO_KIND, null); 
iView.setImageBitmap(map); 
return convertView = iView; 

至於其他錯誤就很難說沒有更多的信息。

另外,你在設備上試過這個嗎?

0

添加到pablisco的回答來看,在特別是「無法創建.thumbnails目錄」:

檢查你表現有權限寫入外部存儲:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />