Flutter изменение значения с плавающей точкой

День добрый

В моем приложении товар добавляется по десятичному числу, то есть 0.1

Увеличить или уменьшить через кнопки, я сделал все ок

Но когда пользователь вручную вводит число, кнопки перестают его изменять!!

Как это можно решить?

как перевести полученные данные из TextFild в double записать их в переменную value что бы можно было изменять значение как с помощью кнопок, так и с помощью ручного ввода

<pre>
     @override
  State<Couner> createState() => _CounerState();
}

class _CounerState extends State<Couner> {
  late dynamic value = 0.5;
  var hintText = 0.5;

  double useNamber = 0.0;

  void add() {
    setState(() {
      if (value <= widget.item) {
        value = value + 0.1;
      }
    });
  }

  void remove() {
    setState(() {
      if (value > 0.5) {
        value = value - 0.1;
      }
    });
  }
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Expanded(
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              ElevatedButton(
                onPressed: add,
                child: const Icon(Icons.add),
              ),
              Expanded(
                child: TextField(
                  textAlign: TextAlign.center,
                  keyboardType: TextInputType.number,
                  onSubmitted: (useNamber) {
                    setState(() {
                      value = double.parse(useNamber);
                    });
                  },
                  decoration: InputDecoration(
                    hintText: '${value.toStringAsFixed(1)}',
                  ),
                ),
              ),
              ElevatedButton(
                onPressed: remove,
                child: const Icon(Icons.remove),
              ),
            ],
          ),
        ),
        Expanded(
          child: Text('${value.toStringAsFixed(1)}'),
        ),
      ],
    );
  }
}
</pre>

Ответы (0 шт):