【问题标题】:How to change Locale without re-launching application?如何在不重新启动应用程序的情况下更改语言环境?
【发布时间】:2016-10-14 16:45:05
【问题描述】:

基本上我想做的是,

我从MainActivity(activity_main) 开始转到SettingActivity(activity_setting) 并从给定的选项(如法语、英语、荷兰语等)更改我的语言环境

所以到目前为止我所做的是......

OnClick 的语言名称它重新创建 SettingActivity(activity-setting) 并根据所选语言更改它的 string 值。

我真正想要的是无需重新创建 Activity,所有string 值都应根据所选语言应用。

非常感谢所有建议和答案。 提前谢谢你。

【问题讨论】:

标签: android android-activity


【解决方案1】:

只需先更改语言属性。 然后调用一个新函数,将 UI 中显示的所有字符串设置为正确的语言。

伪代码:

TextView myTextView = (TextView) findViewbyId(R.id.tv1);
myTextView.setText(yourCustomGetLocaleFunction("some id of the string you want to display", "some language name"));

但这是一个糟糕的方法。您应该让 Android 处理您的应用程序的语言。只需本地化 strings.xml 文件(您可以从代码文件中加载字符串)。

编辑:

暂时要更改应用程序的语言,您可以使用此解决方案中的代码: How to change android app language without changing phone language?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-14
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    相关资源
    最近更新 更多