android - 在语言环境(更改语言)时强制 Flutter PopupMenuButton 重新绘制
问题描述
有谁知道我如何让 CheckedPopupMenuItems 列表重新绘制(它们显然代表带有选项 PopupMenuButton 按下时显示的列表)当列表打开并在我选择更改 android 设备的语言环境/语言的那一刻可见?
现在,当我这样做时,屏幕上的所有内容都会重新绘制以反映语言的变化,除了打开的列表。一旦我关闭它并再次打开它就会重新粉刷。
感谢您的建议!
解决方案
您可能最终需要使用密钥。基本上,您的列表(即使信息正在更改)在技术上仍然与最初的小部件相同,因此您的程序不会在信息更改时重建列表。如果您的应用程序的其余小部件正在正确更新,则意味着您正在正确设置状态,因此添加键就足够了。
会是这样的,
MapSample({Key key, this.title}) : super(key: key);
有关键的更多信息,请查看:
https://api.flutter.dev/flutter/widgets/Widget/key.html
希望这可以帮助!
推荐阅读
- angular - 如何在 SeleniumWebdriver 脚本中处理 shadowdom
- shell - 使用 sed 将时间戳替换为日期
- java - 为 Sagemaker Java SDK 加载非 s3 数据源
- c# - InvalidOperationException:无法跟踪实体类型“ApplicationUser”的实例
- xamarin.forms - 可以在不使用本机 Andriod/IOS 代码的情况下使用 Xamarin Forms 实现可拖动视图吗?
- powershell - 带有标题的空 .csv 显示计数为“1”。当 .csv 有一个条目时,计数仍显示为 '1'
- ios - iOS xamarin 项目中缺少 LaunchImages
- python - 使用 Keras 在 TPU 上加载预训练 BERT 时出错
- bash - 打印基于分隔符的所有信息
- ios - 为什么我的物品在删除操作后会有一些横线?