[英]Flutter/Dart: Type 'int' is not a subtype of type 'String' in type cast
[英]type 'bool' is not a subtype of type 'List<String>' in type cast - flutter/dart
我正在尝试在共享首选项中设置一个字符串列表,但由于未知原因,它抛出了以下错误
类型“bool”不是类型转换中类型“List”的子类型
这是我的代码
List selectedItems = [];
setList() async {
var prefs = await SharedPreferences.getInstance();
List<String> itemList = selectedItems.map((e) => e.toString()).toList(); // converted int list to string
List<String> selectedItemsList = await prefs.setStringList('selectedItems', itemList) as List<String>; // error
}
我没有将 bool 类型值分配给任何变量,那么为什么会出现此错误?
await prefs.setString 返回一个布尔值,这就是您遇到错误的原因。 作为参考,请参阅https://pub.dev/documentation/shared_preferences/latest/shared_preferences/SharedPreferences/setString.html
您可能想要做的是这样使用 getStringList :
List<String> selectedItemsList = await prefs.getStringList('selectedItems') as List<String>;
或者,如果您真的想保存列表,该行将是:
await prefs.setStringList('selectedItems', itemList) as List<String>;
如果您查看文档,您会看到setStringList
返回Future<bool>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.