手动删除照片文件后,删除图库中的照片缩略图

时间:2012-11-23 15:52:39

标签: android image gallery photo delete-file

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

我是使用上面的代码手动删除照片文件。但在系统库中,照片仍显示空白缩略图。 问题是如何删除照片文件以及库中的缩略图?

3 个答案:

答案 0 :(得分:0)

尝试调用MediaScanner刷新图库

// 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);
    }
});

来自Google's example的代码

答案 1 :(得分:0)

试试这个。

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

答案 2 :(得分:-1)

您必须更新存储照片的数据结构(例如列表或数组)。 我猜是photoList。 所以你应该这样做(假设photoList是一个数组):

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