java - 如何更改android中动态内容的语言

标签 java android

我必须这样做:

  • 用户应该能够输入文本来创建帖子 - “创建帖子”按钮
  • 这些帖子应该在墙上查看。
  • 根据所选的语言,应用程序中的静态内容和动态内容应相应更改。它应该在应用程序的设置屏幕中可用。

我有一个问题,如何更改 MainActivity 上内容 View 的语言

最佳答案

您可以像这样更改静态内容。 首先根据语言创建字符串文件。 换语言时执行此方法

 public void changeLang(String lang)
{
    myLocale = new Locale(lang);
    saveLocale(lang);
    Locale.setDefault(myLocale);
    android.content.res.Configuration config = new android.content.res.Configuration();
    config.locale = myLocale;
    getActivity().getApplicationContext().getResources().updateConfiguration(config, null);
    //getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());

    updateTexts();

  }

private void updateTexts()
    {
    //update text of label in here.
   textLabel.setText(R.string.welcome);

    }

接下来覆盖配置更改方法

@Override
public void onConfigurationChanged(android.content.res.Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if (myLocale != null){
        newConfig.locale = myLocale;
        Locale.setDefault(myLocale);
        getActivity().getBaseContext().getResources().updateConfiguration(newConfig, getActivity().getBaseContext().getResources().getDisplayMetrics());
    }
}

我对动态内容一无所知。我认为这是不可能的。但是,如果您对其他语言有内容,则可以在更改语言时加载它。

关于java - 如何更改android中动态内容的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278327/

相关文章:

java - 如何实现JDBC驱动与源代码之间的松耦合?

java - 添加 Apache POI 作为外部库后应用程序立即崩溃

android - CheckBox.setChecked() 正在执行但未显示在屏幕上

java - 解析 XML,如果 CDATA 不包含 HTML 标记,则不返回任何字符串

java - 使用 OkHTTP android 发送多个请求

Java - SonarLint 检测阻止程序 - 在 "PreparedStatement"子句中关闭此 "finally"

java - 如何在 RESTful Web 服务中将参数传递给 GET 方法

java - 在spark中删除空值列

java - 构建基于 Spring 的应用程序的蓝图

java - 计算我 dp 出错的高度