我不熟悉flutter,我试图创建一个从用户输入和减量开始的计数器,但是我无法从文本字段中获取整数输入,如何将用户输入初始化为整数然后添加转换为int变量
答案 0 :(得分:1)
这很简单,我将向您展示一个您可以遵循的示例。
示例:
class HomePage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return new HomePageState();
}
}
class HomePageState extends State<HomePage> {
// creating and initilizing a counter variable
int _counter = 0;
TextEditingController _controller = TextEditingController();
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new TextField(
controller: _controller,
decoration: new InputDecoration(labelText: "Enter your number"),
keyboardType: TextInputType.number,
),
FlatButton(
onPressed:(){
_counter = int.parse(_controller.text);
},
child: Text('Press Me!'),
)
],
));
}
}
首先,我创建了一个计数器并将其初始化为0,然后创建了一个控制器,该控制器将用于控制TextField。之后,我创建了一个TextField小部件,并将 _controller 传递给它。我使用了控制器,因为我需要从TextField中获取数据,所以我们也是如此。我们通过 _controller.text 从_controller提取了数据,该数据返回一个字符串。尽管我们将计数器创建为整数,但无法将字符串传递给它。因此,我使用 int.parse(_controller.text)将从 _controller 中获取的数据更改为整数,然后将其传递给 _counter < / em>变量。
注意:我已将 keyboardType 指定为 TextInputType.number ,因为我们正在处理您提到的数字。