TextEditingController _name = TextEditingController();
Future<String> randomFun() async{
return _name.text;
}
и в другом классе:
print(await(theFirstClass.randomFun()));
, и он всегда печатает I / flutter (9049):
Я написал в текстовом поле, это должно иметь текстовое значение .
Я напечатал его в том же классе и решаю эту проблему при печати из другого класса, он не может видеть значение _name, я не знаю почему.
для более подробного объяснения: я не могу напечатать текст TextField кнопкой в другом виджете
, это может сработать, если я добавлю stati c для _name вроде этого static TextEditingController _name = TextEditingController();
, но мне нужен способ без stati c
мой код выглядит так:
2 виджета с состоянием на одной странице первый виджет FirstClass второй виджет SecondClass FirstClass
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()));
}
),
И снова мне нужно распечатать / получить текст TextField, нажав кнопку в другом виджете.