【问题标题】:setLocale method - updateConfiguration(android.content.res.Configuration.androidtil.DisplayMetcis) is deprecatedsetLocale 方法 - updateConfiguration(android.content.res.Configuration.androidtil.DisplayMetcis) 已弃用
【发布时间】:2017-06-29 03:56:28
【问题描述】:

我从这个线程 Change languages in app via strings.xml 获得了适用于 Android 的 setLocale 方法。问题是 Android Studio 说locale is deprecated,并且 updateConfiguration(android.content.res.Configuration.androidtil.DisplayMetcis) is deprecated.

有人知道解决办法吗?

/*- Set locale ------------------------------------------------------------ */
public void setLocale(String lang) {
    Locale myLocale = new Locale(lang);
    Resources res = getResources();
    DisplayMetrics dm = res.getDisplayMetrics();
    Configuration conf = res.getConfiguration();
    conf.locale = myLocale;
    res.updateConfiguration(conf, dm);
    Intent refresh = new Intent(this, SignUp.class);
    startActivity(refresh);
}

【问题讨论】:

    标签: android android-resources android-configchanges


    【解决方案1】:

    Resources.updateConfiguration 现已弃用,请避免直接更改 conf.locale 字段。从 API 24 开始使用:

    conf.setLocale(locale);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-08
      • 2012-09-20
      • 2020-11-28
      • 1970-01-01
      • 2012-03-04
      • 2019-07-26
      • 1970-01-01
      相关资源
      最近更新 更多