Что происходит не так, когда я пытаюсь сравнить два значения на одной карте из Firestore? - PullRequest
0 голосов
/ 30 января 2020

Я получаю карту из Firestore с парами ключей и логических значений и переносу их на локальную карту, создавая свой пользовательский интерфейс. Я пытаюсь использовать эти логические значения для изменения моего условия включения / выключения в плитках моего списка. Проблема в том, что я не могу сравнить эти значения. Я пытался сравнить их со значением «ложь», с жестко закодированной записью карты, в которой «ложь» имеет значение, и всегда получал ту же проблему, которая воспринимает их как совершенно разные вещи. Я был шокирован, когда я установил для первого и 23-го значения значение false в пожарном депо, а затем сравнил

map[22]=false;
(map1[0]==map[22]);

только для того, чтобы понять, что они разные. Если я распечатаю эти значения, я получаю {false} {false}. Похоже, они Карты, а не логические. Есть ли способ проверить, одинаковы ли они? Можете ли вы по-другому обойти эту проблему?

Содержимое моего пожарного хранилища - document-> {0: {0: true, 1: false}, 22: {0: false}.

I использовал StreamBuilder и внутри него поместил

 Provider.of<Horarios>(context).setHorario(snapshot.data['turnos']);

, потому что я собирался использовать их в другом ListView.builder (). В этом listview.builder я хочу проверить

if (
                  {Provider.of<Horarios>(context).horario["${widget.hora}"]["$index"]} != {Provider.of<Horarios>(context).horario["${widget.hora}"]["22"].toString()}) {
                      print({Provider.of<Horarios>(context).horario["0"]["$index"]}.toString() );//This print, and 
                      print({Provider.of<Horarios>(context).horario["${widget.hora}"]["22"]}.toString());//this print are the ones that even if they return the same string through console don't trigger the condition of equals.
                  return ListTile(
                    onTap: () => confirmarTurno(widget.hora, index, context),
                    enabled: false,
                    title: Text("Cancha $index"),
                  );
                } else {
                  return ListTile(
                    leading: Icon(Icons.account_circle),
                    onTap: () => confirmarTurno(widget.hora, index, context),
                    enabled: true,
                    title: Text("Cancha $index"),
                  );
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...