Android context.getResources.updateConfiguration()不赞成如何解决?

问题描述 投票:1回答:1

就在最近,context.getResources().updateConfiguration()已经在Android API 25中被弃用,我需要更改用户选择的应用程序的语言。我正在使用这种方法来改变语言

  private void setLanguage(String language){
    Locale locale = new Locale(language);
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    con.getApplicationContext().getResources().updateConfiguration(config, null);
    prefData.setCurrentLanguage(language);
    Intent intent = new Intent(getApplicationContext(),MainActivity.class);
    startActivity(intent);
    finish();

}

但是获得弃用api警告,我刚开始进行android开发。因此,任何建议都将有助于解决此警告。

java android locale deprecated
1个回答
2
投票

我在Resource源代码中找到了以下代码。

 /**
     * Store the newly updated configuration.
     *
     * @deprecated See {@link android.content.Context#createConfigurationContext(Configuration)}.
     */
    @Deprecated
    public void updateConfiguration(Configuration config, DisplayMetrics metrics) {
        updateConfiguration(config, metrics, null);
    }

该文档称已弃用,您应该使用Context.createConfigurationContext(Configuration)代替。

© www.soinside.com 2019 - 2024. All rights reserved.