2012-11-23 179 views
3
case R.id.menu_delete: 
    File photoToDelete = new File(photoPath, photoList[gPosition]); 
    photoToDelete.delete(); 
    checkPhotoFolder(); 
    galleryAdapter.notifyDataSetChanged(); 
    Log.d("position", "" + gPosition); 
    return true; 

我使用上面的代碼手動刪除照片文件。但在系統庫中,照片仍顯示空白縮略圖。 問題是我該如何刪除照片文件及其在圖庫中的縮略圖?手動刪除照片文件後在圖庫中刪除照片縮略圖

+0

對不起最新的答案,但我沒有解決這個錯誤,如[這](http://stackoverflow.com/a/37855889/1332870) –

回答

-1

您必須更新存儲照片的數據結構(例如列表或數組)。 我想是photoList。 所以,你應該做的(假設photoList是一個數組):

photoList = photoList.asList().remove(gPosition).toArray(); 
+0

我的意思是除去在Android的照片縮略圖內置畫廊兄弟。 – chengsokdara

+0

這個答案與問題無關。 – Eric

0

嘗試調用MediaScanner從Google's example

+1

這項工作僅用於保存新照片,但是當它掃描已刪除的文件時,它會在系統庫中顯示空白縮略圖。 – chengsokdara

+0

它沒有與我一起工作..測試Nexus 5 – swiftBoy

+0

@chengsokdara你是對的我面臨着同樣的問題。你有沒有得到解決方案? –

0

刷新畫廊

// Tell the media scanner about the new file so that it is 
// immediately available to the user. 
MediaScannerConnection.scanFile(this, 
     new String[] { file.toString() }, null, 
     new MediaScannerConnection.OnScanCompletedListener() { 
    public void onScanCompleted(String path, Uri uri) { 
     Log.i("ExternalStorage", "Scanned " + path + ":"); 
     Log.i("ExternalStorage", "-> uri=" + uri); 
    } 
}); 

代碼試試這個。

getContentResolver().delete(Uri.fromFile(photoToDelete), null, null);