文本字段输入和颤动中自动计算的文本

问题描述

我最近开始 Flutter 是因为我需要使用 Java 从已经在 android 上运行的应用程序制作一个 IOS 副本......目的是制作 3 textFields 允许用户同时输入文本它会做简单的数学计算...例如,如果 textField1 & textField2 输入 1 & 2 的总和将显示textField3 中,用户可以保留该值并使用它或重新输入,textField1&textField3 也会发生同样的情况,结果将显示textField2 中...所以我尝试了几次,但我有一些问题一旦在 textField3 中输入求和,我就无法更改它……我也无法将第一步应用于第二种情况。

enter image description here

有人可以帮我吗

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 (将#修改为@)