首页 > 解决方案 > 在语言环境(更改语言)时强制 Flutter PopupMenuButton 重新绘制

问题描述

有谁知道我如何让 CheckedPopupMenuItems 列表重新绘制(它们显然代表带有选项 PopupMenuButton 按下时显示的列表)当列表打开并在我选择更改 android 设备的语言环境/语言的那一刻可见?

现在,当我这样做时,屏幕上的所有内容都会重新绘制以反映语言的变化,除了打开的列表。一旦我关闭它并再次打开它就会重新粉刷。

感谢您的建议!

标签: androidiosflutterpopupmenubutton

解决方案


您可能最终需要使用密钥。基本上,您的列表(即使信息正在更改)在技术上仍然与最初的小部件相同,因此您的程序不会在信息更改时重建列表。如果您的应用程序的其余小部件正在正确更新,则意味着您正在正确设置状态,因此添加键就足够了。

会是这样的,

MapSample({Key key, this.title}) : super(key: key);

有关键的更多信息,请查看:

https://api.flutter.dev/flutter/widgets/Widget/key.html

希望这可以帮助!


推荐阅读