尝试从另一个小部件打印 Textfield 的文本,并且总是在颤动中打印为空(只是 I/flutter ( 9049): )
Trying to print the text of Textfield from another widget and always print empty ( just I/flutter ( 9049): ) in flutter
TextEditingController _name = TextEditingController();
Future<String> randomFun() async{
return _name.text;
}
在另一个 class:
print(await(theFirstClass.randomFun()));
而且总是打印出来
I/flutter ( 9049):
我已经在文本字段中写入它必须具有文本值。
我用同样的方式打印它 class
和工作
从另一个打印时出现此问题 class 它看不到 _name 的值我不知道为什么。
更多解释:
我需要打印 TextField 的文本
通过另一个小部件中的按钮
如果我为 _name 添加静态,它就可以工作
像这样 static TextEditingController _name = TextEditingController();
但我需要没有静态的方法
我的代码是这样的:
一页中有 2 个有状态小部件
第一个部件 FirstClass
第二个小部件 SecondClass
头等舱
class FirstClassextends State<First> {
...
TextEditingController_name = TextEditingController();
Future<String> randomFun() async{
return _name.text;
}
...
TextField(
decoration: InputDecoration(labelText: 'Enter your name'),
controller: _name,
),
...
}
secondClass
class secondClassextends State<second> {
...
FirstClass firstClass = FirstClass();
...
IconButton(
icon: Icon(Icons.person, color: Colors.white,),
onPressed: ()async{
print(await(firstClass.randomFun()));
}
),
我再次需要 print/get TextField 的文本,方法是按下另一个小部件中的按钮。
改变这个
Future<String> randomFun() async{
return _name.text;
}
至
Future<String> randomFun() async {
return Future.value(_name.text);
}
TextEditingController _name = TextEditingController();
Future<String> randomFun() async{
return _name.text;
}
在另一个 class:
print(await(theFirstClass.randomFun()));
而且总是打印出来 I/flutter ( 9049):
我已经在文本字段中写入它必须具有文本值。
我用同样的方式打印它 class 和工作 从另一个打印时出现此问题 class 它看不到 _name 的值我不知道为什么。
更多解释: 我需要打印 TextField 的文本 通过另一个小部件中的按钮
如果我为 _name 添加静态,它就可以工作
像这样 static TextEditingController _name = TextEditingController();
但我需要没有静态的方法
我的代码是这样的:
一页中有 2 个有状态小部件 第一个部件 FirstClass 第二个小部件 SecondClass 头等舱
class FirstClassextends State<First> {
...
TextEditingController_name = TextEditingController();
Future<String> randomFun() async{
return _name.text;
}
...
TextField(
decoration: InputDecoration(labelText: 'Enter your name'),
controller: _name,
),
...
}
secondClass
class secondClassextends State<second> {
...
FirstClass firstClass = FirstClass();
...
IconButton(
icon: Icon(Icons.person, color: Colors.white,),
onPressed: ()async{
print(await(firstClass.randomFun()));
}
),
我再次需要 print/get TextField 的文本,方法是按下另一个小部件中的按钮。
改变这个
Future<String> randomFun() async{
return _name.text;
}
至
Future<String> randomFun() async {
return Future.value(_name.text);
}