从flutter中的列表视图永久删除文件

1wnzp6jl  于 2022-11-25  发布在  Flutter
关注(0)|答案(1)|浏览(146)

我列出了存储中的所有pdf文件,现在我想删除我的flutter列表中的多个文件。以及从设备文件管理器。我正在使用此功能,但当我删除并重新启动应用程序时,文件再次出现
下面是我用来删除列表的函数:

void deleteItems() {
    var list = myMultiSelectController.selectedIndexes;
    list.sort((b, a) => a.compareTo(b));
    list.forEach((element) {
      files.removeAt(element);
    });
    setState(() {
      myMultiSelectController.set(files.length);
    });
}
yvfmudvl

yvfmudvl1#

files.removeAt(element);只从列表中删除文件。您需要从设备中实际删除文件。
例如

Future<String> get _localPath async {
    final directory = await getApplicationDocumentsDirectory();

    return directory.path;
  }

  Future<File> get _localFile async {
    final path = await _localPath;
    print('path ${path}');
    return File('$path/counter.txt');
  }

  Future<int> deleteFile() async {
        try {
          final file = await _localFile;

          await file.delete();
        } catch (e) {
          return 0;
        }
      }

请参阅more here from SO answer

相关问题