如何解决文本字段输入和颤动中自动计算的文本
我最近开始 Flutter 是因为我需要使用 Java 从已经在 android 上运行的应用程序制作一个 IOS 副本......目的是制作 3 textFields
允许用户同时输入文本它会做简单的数学计算...例如,如果 textField1
& textField2
输入 1 & 2 的总和将显示在 textField3
中,用户可以保留该值并使用它或重新输入,textField1
&textField3
也会发生同样的情况,结果将显示在 textField2
中...所以我尝试了几次,但我有一些问题一旦在 textField3
中输入求和,我就无法更改它……我也无法将第一步应用于第二种情况。
有人可以帮我吗
class _TryPageState extends State<TryPage> {
TextEditingController textEditingController = TextEditingController();
var veLocityEditingController = TextEditingController();
var finalValue = TextEditingController();
int airFlow;
int veLocity;
int valueFinal;
String sam,sam2;
String airFlowText,veLocityText,finalText;
@override
void initState() {
super.initState();
finalValue.addListener(() => setState(() {}));
}
String totalCalculated() {
airFlowText = textEditingController.text;
veLocityText = veLocityEditingController.text;
finalText = finalValue.text;
if (airFlowText != '' && veLocityText != '') {
sam = (airFlow + veLocity).toString();
finalValue.value = finalValue.value.copyWith(
text: sam.toString(),);
}
return sam;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.stretch,children: [
TextFormField(
// key: Key(totalCalculated()),controller: textEditingController,onChanged: (textEditingController) {
setState(() {
airFlow = int.parse(textEditingController.toString());
});
},onTap: () {
setState(() {
textEditingController.clear();
});
},decoration: Inputdecoration(
hintText: 'Enter Value',labelText: 'Air Flow',),keyboardType: TextInputType.number,TextField(
controller: veLocityEditingController,onChanged: (veLocityEditingController) {
setState(() {
veLocity = int.parse(veLocityEditingController.toString());
});
},labelText: 'VeLocity',TextFormField(
key: Key(totalCalculated()),controller: finalValue,onChanged: (value) {
setState(() {
finalValue.value = finalValue.value.copyWith(
text: value.toString(),);
});
},onTap: () {
setState(() {
finalValue.clear();
finalValue.value = finalValue.value.copyWith(
text: '',labelText: 'Final Value',Text('Entered Value is $airFlow + $veLocity + ${finalValue.text}'),],);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。