我如何从 TextEditingController 中获取 int 数据
How can i get int data from TextEditingController in flutter
我想在 Flutter 中获取在 TextField() 中输入的 int 数据,我使用 TextEditingController:
TextEditingController _section_id = new TextEditingController();
并在其中使用此控制器:
TextField(controller: _section_id,
keyboardType: TextInputType.number,)
但是现在,我怎样才能得到 int 数据呢?
我通过
尝试这种方式
Repository().placeAddApiProvider(_section_id.text)
但它只是字符串,并尝试转换为 int,
Repository().placeAddApiProvider(_section_id.text as int)
but it is not work show me this error:
Unhandled Exception: type 'String' is not a subtype of type 'int' in type cast
E/flutter ( 6950): #0 AddPlaceState.build.<anonymous closure> (package:mosul/src/ui/users/add_place.dart:93:50)
E/flutter ( 6950): <asynchronous suspension>
E/flutter ( 6950): #1 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:513:14)
E/flutter ( 6950): #2 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:568:30)
E/flutter ( 6950): #3 GestureRecognizer.invokeCallback (package:flutter/src/gestu...
谢谢
您不能将 String
转换为 int
,因为它们不是从同一父 class 继承的。您需要解析它。
Repository().placeAddApiProvider(int.parse(_section_id.text))
当我们想从 TextEditingController 中获取一个整数时,这样做,
int var =int.parse(_section_id.text);
有时我们想使用 tryParse 来代替解析。
int qty=int.tryParse(qtyController.text);
在 TextField 中 onChanged
onChanged: (s) {
int s = int.parse(
_section_id.text);
},
解析你从文本字段[限制它只输入数字]到 Int 的字符串并使用 int.tryParse(String) 如果你不担心转换不成功或者你这样做的话使用 int.parse(字符串)
我想在 Flutter 中获取在 TextField() 中输入的 int 数据,我使用 TextEditingController:
TextEditingController _section_id = new TextEditingController();
并在其中使用此控制器:
TextField(controller: _section_id,
keyboardType: TextInputType.number,)
但是现在,我怎样才能得到 int 数据呢? 我通过
尝试这种方式Repository().placeAddApiProvider(_section_id.text)
但它只是字符串,并尝试转换为 int,
Repository().placeAddApiProvider(_section_id.text as int)
but it is not work show me this error:
Unhandled Exception: type 'String' is not a subtype of type 'int' in type cast
E/flutter ( 6950): #0 AddPlaceState.build.<anonymous closure> (package:mosul/src/ui/users/add_place.dart:93:50)
E/flutter ( 6950): <asynchronous suspension>
E/flutter ( 6950): #1 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:513:14)
E/flutter ( 6950): #2 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:568:30)
E/flutter ( 6950): #3 GestureRecognizer.invokeCallback (package:flutter/src/gestu...
谢谢
您不能将 String
转换为 int
,因为它们不是从同一父 class 继承的。您需要解析它。
Repository().placeAddApiProvider(int.parse(_section_id.text))
当我们想从 TextEditingController 中获取一个整数时,这样做,
int var =int.parse(_section_id.text);
有时我们想使用 tryParse 来代替解析。
int qty=int.tryParse(qtyController.text);
在 TextField 中 onChanged
onChanged: (s) {
int s = int.parse(
_section_id.text);
},
解析你从文本字段[限制它只输入数字]到 Int 的字符串并使用 int.tryParse(String) 如果你不担心转换不成功或者你这样做的话使用 int.parse(字符串)