如何在颤振中将字符串保存在列表字符串中?

时间:2019-07-24 09:56:49

标签: flutter

你好,我找不到在可使用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");

    } );
  }

谢谢

1 个答案:

答案 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");

} );


}