我是新手,我试图创建一个从用户输入和减量开始的计数器,但是我无法从文本字段中获取整数输入,如何将用户输入初始化为整数,然后将其添加到整数变量
最佳答案
这很简单,我将向您展示一个您可以遵循的示例。
例:
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”,然后创建了一个 Controller ,该 Controller 将用于控制TextField。之后,我创建了一个TextField小部件并将_controller传递给它。我使用了 Controller ,因为我需要从TextField中获取数据,所以我们也是如此。我们通过_controller.text从_controller提取了数据,该数据返回一个字符串。尽管我们将计数器创建为整数,但无法将字符串传递给它。因此,我使用int.parse(_controller.text)将从_controller提取的数据更改为整数,然后将其传递给_counter变量。
注意:我已将keyboardType指定为TextInputType.number,因为我们正在处理您提到的数字。
关于flutter - 如何在Flutter中初始化文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169269/