无法从共享的preferences.string列表中删除密钥

时间:2019-09-17 16:31:38

标签: flutter dart sharedpreferences

所以是新手问题,但是我认为我已经按照文档进行了所有操作,而且我找不到具有共享首选项和3个函数的字符串列表laute保存delete,加载和保存工作完美,但是删除不执行任何操作而没有错误:/

     List favorites=[];
    @override 
    void initState(){
    super.initState();
    setState(() {
    _loadList();
      });}

   _loadList() async {
     SharedPreferences prefs = await SharedPreferences.getInstance();
    setState(() {
  favorites = (prefs.getStringList('myFavorites') ?? []);
   });
    }

  _saveList(documentID) async{
  SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setStringList('myFavorites', ['$documentID']);
  _loadList();
  }

  _deleteList(documentID) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
   var list= prefs.getStringList('myFavorites');
    list.remove(documentID);
   _loadList();}

我找不到太多问题,我认为我自己的愚蠢忘记了一些东西。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我创建了一个新列表,并将所有密钥添加到新列表中。在我的新列表中删除了documentId,并将新列表放在myFavorites的位置。也可以。