你好,我找不到在可使用shardpref保存的列表字符串中添加字符串的解决方案。
在特定情况下,我使用QR码阅读器,输出是要存储在Liststring中并使用sharedpref保存的字符串
这是插件中生成QRcode字符串代码的部分:
void _onQRViewCreated(QRViewController controller) {
final channel = controller.channel;
controller.init(qrKey);
this.controller = controller;
channel.setMethodCallHandler((MethodCall call) async {
switch (call.method) {
case "onRecognizeQR":
dynamic arguments = call.arguments;
setState(() {
qrText = arguments.toString();
qrText是一个字符串。我试图更改argments.toListstring();但是这样做的时候我没有输出...
这是我的保存列表功能,在这里我无法将qrText添加到字符串列表
save_code() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
prefs.setStringList("save_code",qrText); // qrText need to be a Stringlist
_my_save_code_list = prefs.getStringList("save_code");
} );
}
谢谢
答案 0 :(得分:1)
为什么要使用StringList?如果仅是代码,还可以将其另存为普通字符串,对吗?还是字符串太长而无法成为普通字符串?
->我认为您需要这样做:
save_code() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
List<String> stringList = [];
stringList.add(qrText);
setState(() {
prefs.setStringList("save_code",stringList); // qrText need to be a Stringlist
_my_save_code_list = prefs.getStringList("save_code");
} );
}