Я хочу взять значение из текстового поля и показать его в другом текстовом поле. ⇐ Android
-
Гость
Я хочу взять значение из текстового поля и показать его в другом текстовом поле.
import 'dart:html'; импортировать «пакет: флаттер/материал.dart»; класс tempretureConverter расширяет StatefulWidget { статический идентификатор строки = 'tempretureConverter_screen'; @переопределить _tempretureConverterState createState() => _tempretureConverterState(); } класс _tempretureConverterState расширяет State { окончательный myControllerCelisius = TextEditingController(); окончательный myControllerFerhrenhite = TextEditingController(); Строка textFieldValue; @переопределить недействительный initState() { супер.initState(); } двойной целисий, ференхит; двойной celisiusCalculation (двойной c) { возврат (с*9/5)+32; } двойной fehrenhiteCalculation(двойной f){ возврат (ф – 32)*5/9; } @переопределить Сборка виджета (контекст BuildContext) { вернуть эшафот( тело: Заполнение( отступ: const EdgeInsets.symmetric (по горизонтали: 8,0), ребенок: Столбец( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch, дети: [ Ряд( дети: [ Контейнер( ребенок: Image.asset('images/tempreture_converter_icon.png'), высота: 100, ), Размерная коробка( ширина: 10, ), Текст( «Конвертер температуры», стиль: TextStyle( цвет: Цвета.красный, Размер шрифта: 20 ), ) ], ), Размерная коробка( высота: 10, ), Ряд( дети: [ Гибкий( flex: 3,child:TextField( textAlign: TextAlign.center, контроллер: myControllerCelisius, тип клавиатуры: TextInputType.number, onChanged: (значение) { setState(() { celisius = значение как двойное; если (целизиус != 0){ fehrenhiteCalculation (целизий); мойControllerFerhrenhite.text; } }); }, украшение: InputDecoration( подсказкаТекст: 'Целисий', граница: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(20)) ), EnableBorder: OutlineInputBorder( borderSide: BorderSide(цвет: Colors.redAccent, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ), focusBorder: OutlineInputBorder( borderSide: BorderSide (цвет: Colors.green, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ) ))), Размерная коробка( ширина: 15, ), Гибкий( flex: 3,child:TextField( textAlign: TextAlign.center, контроллер: myControllerFerhrenhite, тип клавиатуры: TextInputType.number, onChanged: (значение) { setState(() { fehrenhite = значение как двойное; if(ференхит != 0){ celisiusCalculation (ференхит); мойКонтроллерЦелисиус.текст; } }); }, украшение: InputDecoration( подсказкаТекст: 'Ференхайт', граница: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(20)) ), EnableBorder: OutlineInputBorder( borderSide: BorderSide(цвет: Colors.redAccent, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ), focusBorder: OutlineInputBorder( borderSide: BorderSide (цвет: Colors.green, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ) ))), ], ), Размерная коробка( высота: 15, ), RaiedButton(onPressed: (){}, цвет: Цвета.красный, дочерний элемент: Text('Конвертировать', стиль: TextStyle(цвет: Colors.white, fontSize: 20)),) ], ), ), ); } } Этот код берет значение из Фаренгейта и меняет его на Цельсий и наоборот, а для поднятой кнопки я буду использовать его позже для преобразования, но сначала я хочу автоматически изменить значения в текстовых полях, а затем я буду использовать "Кнопка конвертера"
Мне нужно решение этой проблемы
import 'dart:html'; импортировать «пакет: флаттер/материал.dart»; класс tempretureConverter расширяет StatefulWidget { статический идентификатор строки = 'tempretureConverter_screen'; @переопределить _tempretureConverterState createState() => _tempretureConverterState(); } класс _tempretureConverterState расширяет State { окончательный myControllerCelisius = TextEditingController(); окончательный myControllerFerhrenhite = TextEditingController(); Строка textFieldValue; @переопределить недействительный initState() { супер.initState(); } двойной целисий, ференхит; двойной celisiusCalculation (двойной c) { возврат (с*9/5)+32; } двойной fehrenhiteCalculation(двойной f){ возврат (ф – 32)*5/9; } @переопределить Сборка виджета (контекст BuildContext) { вернуть эшафот( тело: Заполнение( отступ: const EdgeInsets.symmetric (по горизонтали: 8,0), ребенок: Столбец( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch, дети: [ Ряд( дети: [ Контейнер( ребенок: Image.asset('images/tempreture_converter_icon.png'), высота: 100, ), Размерная коробка( ширина: 10, ), Текст( «Конвертер температуры», стиль: TextStyle( цвет: Цвета.красный, Размер шрифта: 20 ), ) ], ), Размерная коробка( высота: 10, ), Ряд( дети: [ Гибкий( flex: 3,child:TextField( textAlign: TextAlign.center, контроллер: myControllerCelisius, тип клавиатуры: TextInputType.number, onChanged: (значение) { setState(() { celisius = значение как двойное; если (целизиус != 0){ fehrenhiteCalculation (целизий); мойControllerFerhrenhite.text; } }); }, украшение: InputDecoration( подсказкаТекст: 'Целисий', граница: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(20)) ), EnableBorder: OutlineInputBorder( borderSide: BorderSide(цвет: Colors.redAccent, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ), focusBorder: OutlineInputBorder( borderSide: BorderSide (цвет: Colors.green, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ) ))), Размерная коробка( ширина: 15, ), Гибкий( flex: 3,child:TextField( textAlign: TextAlign.center, контроллер: myControllerFerhrenhite, тип клавиатуры: TextInputType.number, onChanged: (значение) { setState(() { fehrenhite = значение как двойное; if(ференхит != 0){ celisiusCalculation (ференхит); мойКонтроллерЦелисиус.текст; } }); }, украшение: InputDecoration( подсказкаТекст: 'Ференхайт', граница: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(20)) ), EnableBorder: OutlineInputBorder( borderSide: BorderSide(цвет: Colors.redAccent, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ), focusBorder: OutlineInputBorder( borderSide: BorderSide (цвет: Colors.green, ширина: 1), borderRadius: BorderRadius.all(Radius.circular(20)) ) ))), ], ), Размерная коробка( высота: 15, ), RaiedButton(onPressed: (){}, цвет: Цвета.красный, дочерний элемент: Text('Конвертировать', стиль: TextStyle(цвет: Colors.white, fontSize: 20)),) ], ), ), ); } } Этот код берет значение из Фаренгейта и меняет его на Цельсий и наоборот, а для поднятой кнопки я буду использовать его позже для преобразования, но сначала я хочу автоматически изменить значения в текстовых полях, а затем я буду использовать "Кнопка конвертера"
Мне нужно решение этой проблемы
Мобильная версия