如何解决无法在flutter ios应用程序中识别空值
我正在尝试调试我用 Flutter 编写的 ios 应用程序。 android 版本运行良好,但 ios 版本在通过按下按钮进入特定屏幕时似乎不断吐槽。错误是:
抛出另一个异常:FormatException: Invalid number (at character 1)
我的研究表明页面上的某处有一个空值,但我看不到它,而且我无法弄清楚如何在 Android Studio 的 ios 模拟器中进行调试。有人可以推荐吗?
//1) fO2(default to 4.76)
//2) Bar vs PSI?? Probably in V2
//3) Owner Name
import 'package:ccrchecklist/main.dart';
import 'package:Flutter/material.dart';
import './myUtils.dart';
class settingsPage extends StatefulWidget {
@override
_settingsPage createState() => _settingsPage();
}
class _settingsPage extends State{
final _name = TextEditingController(text: myUtils.getSharedPref('name'));
int _radioBarPSIValue = int.parse(myUtils.getSharedPref('bar'));
int _radioDecimalValue = int.parse(myUtils.getSharedPref('decimal'));
final _formKey = GlobalKey<FormState>();
bool _validator1 = false;
bool _validator2 = false;
bool _validator3 = false;
String name = '';
void _handleBarPSIRadiovalueChange(int value) {
setState(() {
_radioBarPSIValue = value;
print("Setting Bar PSI");
switch (_radioBarPSIValue) {
case 0:
myUtils.setSharedPref('bar','0'); //Set to Bar
break;
case 1:
myUtils.setSharedPref('bar','1'); //Set to PSI
break;
}
});
}
void _handleDecimalRadiovalueChange(int value) {
setState(() {
_radioDecimalValue = value;
print("Setting Bar PSI");
switch (_radioDecimalValue) {
case 0:
myUtils.setSharedPref('decimal','0'); //Set to Bar
break;
case 1:
myUtils.setSharedPref('decimal','1'); //Set to PSI
break;
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: ListView(
padding: EdgeInsets.symmetric(horizontal: 24.0),children: <Widget>[
SizedBox(height: 120.0),//Name
Form(
key: _formKey,child: Column(
children: <Widget>[
//Name field
new TextFormField(
keyboardType: TextInputType.text,controller: _name,autovalidate: _validator1,decoration: const Inputdecoration(
icon: Icon(Icons.person),hintText: 'Your Name',labelText: 'Name',),onChanged: (String value) {
name = _name.text;
setState(() {
_validator1 = true;
});
},validator: (String value) {
if(value.isEmpty){
return "Field is required";
}
else {
return null;
}
},//Bar or PSI
Row(
children: <Widget>[
Radio(
value: 0,groupValue: _radioBarPSIValue,onChanged: _handleBarPSIRadiovalueChange,Text(
'Bar',style: new TextStyle(fontSize: 16.0),Radio(
value: 1,Text(
'PSI',]
),buttonbar(
children: <Widget>[
//Clear Button
FlatButton(
child: Text('Cancel'),onpressed: () {
Navigator.push(
context,MaterialPageRoute(builder: (context) => HomeScreen()),);
},RaisedButton(
child: Text('SAVE'),onpressed: () {
print(name);
_handleBarPSIRadiovalueChange(_radioBarPSIValue);
if(name != '')
myUtils.setSharedPref('name',name);
Navigator.push(
context,);
}
),]
),],])));
}
}```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。