case R.id.menu_delete:
File photoToDelete = new File(photoPath, photoList[gPosition]);
photoToDelete.delete();
checkPhotoFolder();
galleryAdapter.notifyDataSetChanged();
Log.d("position", "" + gPosition);
return true;
我是使用上面的代码手动删除照片文件。但在系统库中,照片仍显示空白缩略图。 问题是如何删除照片文件以及库中的缩略图?
答案 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();