Flutter [ERROR:flutter / lib / ui / ui_dart_state.cc(177)]未处理的异常:类型“ int”不是类型强制转换中的“字符串”类型的子类型

时间:2020-11-11 07:42:41

标签: android android-studio flutter dart

我正在从我的flutter应用程序发送一个api请求,以更新用户数据并收到此错误
[ERROR:flutter / lib / ui / ui_dart_state.cc(177)]未处理的异常:类型'int'不是强制类型转换中的'String'类型的子类型

我的代码

_data() async {
    setState(() {
      data();
    });
  }

Future<bool> data() async {
final prefs = await SharedPreferences.getInstance();
final key = 'token';
final value = prefs.get(key) ?? 0;
http.Response response = await http.post(
  "https://www.exmaple.com/api/user",
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Authorization': 'Bearer $value'
  },
  body: {'key1': value1, 'key2': value2},
);
if (response.statusCode == 200) {
  return true;
} else {
  return false;
 }
}

当我单击按钮时,上面的代码有效。参见下面的代码

RaisedButton(
              onPressed: () {                    
                _data();
                Navigator.of(context).pushAndRemoveUntil(
                    MaterialPageRoute(
                        builder: (BuildContext context) => Home()),
                    (Route<dynamic> route) => false);
              },
              child: Text('Press Me',
                  style: TextStyle(fontSize: 15)),
            ),

请参阅错误Error ScreenShot的屏幕截图

这是错误error in line 76

3 个答案:

答案 0 :(得分:0)

不知道是哪一行在向您抛出错误,但也许可以尝试解析它?

var value = int.tryParse(text);

答案 1 :(得分:0)

请按以下方式使用身份验证。

flutter pub get

答案 2 :(得分:0)

确保value1value2String

body: {'key1': value1.toString(), 'key2': value2.toString()},