Advertisements
In my app I’m converting a double temp by temp.toInt() to a late int temperature variable. But somehow my app crashes and showing me error saying "type ‘int’ is not a subtype of ‘double’". The main problem is it works suddenly. And then again it crashes. I don’t know why it’s happening. here is my code-
class _LocationScreenState extends State<LocationScreen> {
WeatherModel weather = WeatherModel();
late int temperature;
late String cityName;
late String weatherIcon;
late String weatherMessage;
@override
void initState() {
super.initState();
updateUI(widget.locationWeather);
}
void updateUI(dynamic weatherData) {
setState(() {
if (weatherData == null) {
temperature = 0;
weatherIcon = 'Error';
weatherMessage = 'Unable to get weather data';
cityName = '';
return;
}
double temp = weatherData['main']['temp'];
temperature = temp.toInt();
var condition = weatherData['weather'][0]['id'];
weatherIcon = weather.getWeatherIcon(condition);
weatherMessage = weather.getMessage(temperature);
cityName = weatherData['name'];
});
}
what should I do? please let me know if you have any advice.
Thanks in advance.
I’ve tried declaring another int variable and assign it to temperature but that didn’t work either.
>Solution :
Can you try making temp as dynamic
dynamic temperature;