Flutter 尝试从另一个小部件打印Textfield的文本,并始终在Flatter中打印空文本(仅I/Flatter(9049):)

Flutter 尝试从另一个小部件打印Textfield的文本,并始终在Flatter中打印空文本(仅I/Flatter(9049):),flutter,dart,flutter-layout,flutter-test,Flutter,Dart,Flutter Layout,Flutter Test,而且总是打印出来的 I/颤振(9049): 我在文本字段中写了它必须是有文本值的 我在同一个班上印的 和工作 这个问题当从另一个类打印时,它看不到_name的值,我不知道为什么 欲了解更多信息,请解释: 我需要打印文本字段的文本 通过另一个小部件中的按钮 如果我为_name添加了static,它就可以工作了 像这样statictexteditingcontroller\u name=textededitingcontroller() 但我需要一条没有静电的路 我的代码如下: 一个页面中有2个有状

而且总是打印出来的 I/颤振(9049):

我在文本字段中写了它必须是有文本值的

我在同一个班上印的 和工作 这个问题当从另一个类打印时,它看不到_name的值,我不知道为什么

欲了解更多信息,请解释: 我需要打印文本字段的文本 通过另一个小部件中的按钮

如果我为_name添加了static,它就可以工作了 像这样
statictexteditingcontroller\u name=textededitingcontroller()

但我需要一条没有静电的路

我的代码如下:

一个页面中有2个有状态小部件 头等舱 第二类 头等舱

print(await(theFirstClass.randomFun()));
类firstClassExtendes状态{
...
TextEditingController_name=TextEditingController();
Future randomFun()异步{
返回_name.text;
}
...
文本字段(
装饰:输入装饰(标签文本:“输入您的姓名”),
控制器:_名称,
),
...
}
二等舱

class FirstClassextends State<First> {
...
  TextEditingController_name = TextEditingController();

  Future<String> randomFun() async{
    return _name.text;
  }
...
  TextField(
  decoration: InputDecoration(labelText: 'Enter your name'),
  controller: _name,
  ),
...
}
class secondClassextends状态{
...
第一类第一类=第一类();
...
图标按钮(
图标:图标(Icons.person,颜色:Colors.white,),
onPressed:()异步{
打印(wait(firstClass.randomFun());
}
),
我还需要通过按下另一个小部件中的按钮来打印/获取TextField的文本。

更改此设置

class secondClassextends State<second> {
...
  FirstClass firstClass = FirstClass();
...
  IconButton(
    icon: Icon(Icons.person, color: Colors.white,),
    onPressed: ()async{
      print(await(firstClass.randomFun()));
    }
  ),
Future randomFun()异步{
返回_name.text;
}

Future randomFun()异步{
返回Future.value(_name.text);
}
class secondClassextends State<second> {
...
  FirstClass firstClass = FirstClass();
...
  IconButton(
    icon: Icon(Icons.person, color: Colors.white,),
    onPressed: ()async{
      print(await(firstClass.randomFun()));
    }
  ),
Future<String> randomFun() async{
    return _name.text;
  }
Future<String> randomFun() async {
    return Future.value(_name.text);
  }