gpt4 book ai didi

android - DataBinding 会干扰 Activity 的本地化吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:00 26 4
gpt4 key购买 nike

长话短说

我有一个支持多种语言的应用程序。尽管使用了所有常用的本地化方法,但仍未翻译一项 Activity 。它是应用程序中唯一充分利用 DataBinding 的 Activity .

完整解释

我有一个 Activity使用DataBinding .所以基本上,整个 XML该 Activity 的布局包含在 <layout> 中标签。这就是我膨胀 View 并获取绑定(bind)的方式:

SomeActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.some_activity);

有多个 TextViewsXML以这种方式设置文本:

...
android:text="@string/<name of a string>"
...

我们为用户提供预定义的语言选项,并使用

Locale.setDefault(new Locale("<language name>"));

在英语语言环境中,一切都完美无缺。

当应用程序处于不同的语言环境时,相关 Activity 中的字符串仍然以英语显示 - 即使这些字符串已被翻译成适当的语言,并且位于与其余部分相同的字符串文件中应用程序从中获取字符串。在该 Activity 开始之前,应用程序正常 - 在 Activity 开始后我退出它,应用程序恢复到英语语言环境,直到它被杀死并重新启动。如果该 Activity 从未打开,应用将按预期运行。

有人知道是什么原因造成的吗?谢谢。

最佳答案

弄清楚发生了什么。它与 ViewBinding 无关。该 Activity 以横向模式开始 - 由于某种原因重置应用程序区域设置。 This answer帮我修好了。

关于android - DataBinding 会干扰 Activity 的本地化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43552738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com