169 похожих чатов

Коллеги, такой вопрос: хочу чтоб при нажатии на виджет у

него менялся цвет. виджет инициализируется в ListView.builder. я создаю состояние в itemBuilder в ListView.builder, но это не работает. можете подсказать что делаю не так?

Widget userList() {
return StreamBuilder(
stream: userStream,
builder: (context, AsyncSnapshot snapshot) {
return snapshot.hasData
? ListView.builder(
itemCount: snapshot.data!.docs.length,
itemBuilder: (context, index) {
String username = snapshot.data.docs[index]["username"];
bool selected = false; <--- хочу чтоб при нажатии менялся на true и потом обратно на false
return GestureDetector(
onTap: () {
if (users.contains(username)) {
setState((){ <--- вот тут пытаюсь сделать смену состояния selected но не происходит :(
users.remove(username);
selected = false;
});
} else {
setState((){
users.add(username);
selected = true;
});
}
print(users);
},
child: UserTile(
username,
selected
),
);
})
: Center(child: CircularProgressIndicator());
});
}

3 ответов

8 просмотров

Тебе ответили на вопрос ,но на будущее Сетстейт сообщает твоему виджету что ему нужно перестроиться. Отсюда и исходи , то есть у тебя есть какое либо значение ты его изменил ,и только после того как ты вызвал функцию сетстейт ,у тебя эта информация обновится на экране. Следовательно таким образом можно какую либо другую информацию изменять

Dmitry-Belyaev Автор вопроса
Alex Wow
Тебе ответили на вопрос ,но на будущее Сетстейт с...

спасибо! насчет сетСтейта знаю, но почему-то не работает. вот ищу причину почему :/

Dmitry Belyaev
спасибо! насчет сетСтейта знаю, но почему-то не ра...

Не работает только в том случае если ты не вызвал это состояние или не изменил данные

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Доброе утро! Не совсем понятно как установить счетчик яндекс метрики на сайт. И потом ещё цели проставить?
Евгения
18
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Кто-нибудь знает, как считается нагрузка на цпу? И что такое вообще "нагрузка на цпу"? вот, например, есть у цпу какой-то clock, настроенный на 3 ГГц --- Что значит "нагрузка...
Toideng
15
Можно ли написать свою библиотеку "socket" на каком либо языке ассемблера с нуля не используя сишние библиотеки ? Или это самоубийство ?
123🪐
15
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Карта сайта