所以是新手问题,但是我认为我已经按照文档进行了所有操作,而且我找不到具有共享首选项和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();}
我找不到太多问题,我认为我自己的愚蠢忘记了一些东西。有人可以帮忙吗?
答案 0 :(得分:0)
我创建了一个新列表,并将所有密钥添加到新列表中。在我的新列表中删除了documentId,并将新列表放在myFavorites的位置。也可以。