【发布时间】:2020-03-12 20:40:37
【问题描述】:
尊敬的 Stackoverflow 社区,
我想在我的应用中获取语言环境的值。我正在使用共享首选项,我想在另一个页面中使用区域设置语言值,但我找不到调用该值的方法:
这是我的页面 main.dart :
class TranslatePreferences implements ITranslatePreferences
{
static const String _selectedLocaleKey = 'selected_locale';
@override
Future<Locale> getPreferredLocale() async
{
final preferences = await SharedPreferences.getInstance();
if(!preferences.containsKey(_selectedLocaleKey)) return null;
var locale = preferences.getString(_selectedLocaleKey);
return localeFromString(locale);
}
@override
Future savePreferredLocale(Locale locale) async
{
final preferences = await SharedPreferences.getInstance();
await preferences.setString(_selectedLocaleKey, localeToString(locale));
}
}
如果我理解得很好,我必须在我的其他页面中使用 getPreferredLocale(),但即使我导入 main.dart,我也可以在 lang.dart 页面中获取 getPreferredLocale():
class lang{
string lang=TranslatePreferences.getPreferredLocale();
print(lang);
}
感谢您的帮助。
【问题讨论】:
标签: android flutter sharedpreferences