#flutter #dart
Вопрос:
Я получаю расстояние по местоположению, а местоположение хранится в базе данных firebase, здесь я хочу изменить текст, если расстояние равно O между двумя точками.(Например, меньше километра, а не значение «O»).Пожалуйста, помогите мне..
Я пытался сделать это, но не получилось, чтобы дать вам некоторое представление, вот код:-
setState(() {
if(value?.distanceBW != null){
distanceBW = value.distanceBW;
if(distanceBW == 0 ){
setState(() {
return "Less than 1";
});
}else{
return distanceBW;
}
}
}
Ответ №1:
Создайте переменную верхнего уровня, скажем String textToDisplay = "";
Затем обновите его значение соответствующим образом, например:
if(value?.distanceBW != null){
distanceBW = value.distanceBW;
if(distanceBW == "0" || distanceBW.isEmpty())
setState(() => textToDisplay = "Less than 1");
else
setState(() => textToDisplay = distanceBW.toString());
}
Используйте эту переменную textToDisplay
в своем Text
виджете,
также не забудьте указать тип String
distanceBW
вместо var
.
Комментарии:
1. Пожалуйста, добавьте также эту дорожку стека
2. такой ошибки нет, но значение, которое я там показываю, показывает значение null.
3. и в (distanceBW == 0 ) говорится:-
==
Вызов оператора равенства со ссылками несвязанных типов.4. тогда, скорее всего, у вас
distanceBW
есть строка или какой-то другой тип. в соответствии с этим, проверьте блок if5. Расстояние между ними равно var