Получить значение из общих предпочтений в Flutter - PullRequest
0 голосов
/ 12 марта 2020

Уважаемое сообщество 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, я могу получить getPreferredLocale () на странице lang.dart:

class lang{
string lang=TranslatePreferences.getPreferredLocale();
print(lang);

}

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 13 марта 2020

внизу файла TranslatePreferences (вне класса) добавьте:

TranslatePreferences translatePreferences = TranslatePreferences();

, затем в классе lang вы можете использовать его:

string lang=translatePreferences.getPreferredLocale();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...