TextEditingController _name = TextEditingController();
Future<String> randomFun() async{
return _name.text;
}
и в другом классе:
print(await(theFirstClass.randomFun()));
и он просто всегда печатает I / flutter (9049):
Я написал в текстовом поле, что оно должно иметь текстовое значение.
Я распечатал его в том же классе и решаю эту проблему, когда распечатываю из другого класса, он не видит значение _name, я не знаю почему.
для более подробного объяснения: я не могу печатать текст TextField кнопкой в другом виджете
это может сработать, если я добавил статику для _name как это static TextEditingController _name = TextEditingController();
но мне нужен способ без статики
мой код такой:
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,
),
...
}
Второй класс
class secondClassextends State<second> {
...
FirstClass firstClass = FirstClass();
...
IconButton(
icon: Icon(Icons.person, color: Colors.white,),
onPressed: ()async{
print(await(firstClass.randomFun()));
}
),
И снова мне нужно распечатать / получить текст TextField, нажав кнопку в другом виджете.