如何在颤振中初始化文本字段



我是 Flutter 的新手,我正在尝试创建一个从用户输入开始并递减的计数器,但我无法从文本字段中获取整数输入如何将用户输入初始化为整数,然后将其添加到 int 变量

这很简单,我将向您展示一个您可以遵循的示例。

例:

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传递给它。我使用控制器是因为我需要从文本字段获取数据,我们也是如此。我们通过返回字符串的_controller.text从_controller获取数据。尽管我们将计数器创建为整数,但不能向其传递字符串。因此,我使用int.parse(_controller.text(将从_controller获取的数据更改为整数,然后将其传递给_counter变量。

注意:我已将键盘类型指定为TextInputType.number,因为我们正在处理您提到的数字。

最新更新