0

所以新手的问题,但我想我已经按照文档做了所有事情,我找不到我有共享首选项的列表字符串和 3 个功能 laod 保存删除,加载和保存工作完美但删除没有错误的错误:/

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

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

4

1 回答 1

0

我制作了一个新列表并将所有键添加到新列表中。在我的新列表中删除了 documentId 并将新列表替换为 myFavorites。也有效。

于 2019-09-17T19:32:45.820 回答