flutter - 任何人请帮助。Flutter 上的 Listview 未更新
问题描述
https://i.stack.imgur.com/8yq5w.png 当我第一次点击 Shirshak 时,它没有打开任何东西。当我尝试在 Shirshak 上第二次单击移动设备时,它会打开新屏幕https://i.stack.imgur.com/4fVMN.png。当我在 2 中第三次点击移动设备时,它会再次打开 Shirshak。但是当我第四次点击它时,它会打开 2 https://i.stack.imgur.com/kqEqv.png。这种情况一次又一次地发生,我必须点击两次才能进入聊天屏幕。
这是我的代码:
https://i.stack.imgur.com/iGYfZ.png
解决方案
第 97 行中的函数 getDataForChat() 是一个异步方法,但您没有为它使用 await 和 ansync 关键字(在您的代码中从 Internet 收集数据的许多其他方法也没有标记为 async 和 await)。
当单击其中任何一个按钮时,您应该禁用所有其他按钮。
您正在使用 Stateful Widget,因此要更改任何变量的值,您必须使用 setState 。例如,在第 101 行,您应该使用 setState 将 isLoading 设置为 false。
推荐阅读
- python-3.x - 在 boto3 python 3.8 lambda 中获取请求失败
- azure-active-directory - 使用“/directoryObjects/validateProperties”API 时出错:提供的实体类型无效
- java - 如何在启动其他活动并通过按钮启动该活动后再次停止已经运行的媒体播放器?
- disk - 更换 DRBD 中的故障驱动器 ()
- javascript - 反应:this.props.item 未定义
- sql - 左连接的意外结果
- python-3.x - Pandas 查找间隔(n 天)并捕获开始/结束日期
- flutter - 如何将 C++ cv::Mat 转换为 Flutter 变量?
- json - 如何将 Excel 转换为 csv 到 Json(没有文本数字转换为数字)?
- protocol-buffers - protoc命令中--plugin参数的作用是什么