fluttertextfieldtexteditingcontroller

The following FormatException was thrown while calling onChanged: Invalid number (at character 1)


I am trying to clear the initial value from and textfield and give new value, when the textfield is empty i am getting this error.

The following FormatException was thrown while calling onChanged:
Invalid number (at character 1)

^

When the exception was thrown, this was the stack: 
#0      int._handleFormatError (dart:core-patch/integers_patch.dart:129:7)
#1      int.parse (dart:core-patch/integers_patch.dart:55:14)

Below is my code.

  int _currentSliderValue = 1;
  TextEditingController sliderController = TextEditingController();

Column(
            children: [
              Slider(
                value: _currentSliderValue.toDouble(),
                max: 100,
                label: _currentSliderValue.round().toString(),
                onChanged: (double value) {
                  setState(() {
                    _currentSliderValue = value.toInt();
                    sliderController.text = _currentSliderValue.toString();
                    print(_currentSliderValue);
                  });
                },
              ),
              Padding(
                padding: const EdgeInsets.all(0.0),
                child: TextFormField(
                  decoration: InputDecoration(
                    border: OutlineInputBorder(),
                  ),
                  controller: sliderController,
                  onChanged: (text) {
                    setState(() {
                      _currentSliderValue = int.parse(text);
                    });
                  },
                ),
              ),
            ],
          )

How to overcome this issue. i don't get any error when i add any values.

Please help me how to fix this. Thanks in advance.


Solution

  • This error occurs because the int parser couldn't parse the string you're trying to parse. To fix this you should make sure that the value is correct or use int.tryParse(value).