Как изменить текст в зависимости от значения, получаемого из базы данных?

#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 есть строка или какой-то другой тип. в соответствии с этим, проверьте блок if

5. Расстояние между ними равно var