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

上記のコードを使用して写真ファイルを手動で削除しています。しかし、システム ギャラリーでは、写真にはまだ空白のサムネイルが表示されます。問題は、ギャラリー内の写真ファイルとそのサムネイルを削除するにはどうすればよいですか?

4

3 に答える 3

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の例からのコード

于 2012-11-23T16:00:11.910 に答える
0

これを試して。

getContentResolver().delete(Uri.fromFile(photoToDelete), null, null);
于 2015-08-24T16:48:20.690 に答える
-1

写真を保存するデータ構造(リストや配列など)を更新する必要があります。私はそれだと思いますphotoListphotoListしたがって、次のことを行う必要があります(配列であると想定):

photoList = photoList.asList().remove(gPosition).toArray();
于 2012-11-23T15:59:00.537 に答える