C0D*_*OU5 9 data-binding android android-location android-activity android-databinding
TL; DR
我有一个支持多种语言的应用程序.尽管使用了所有常用的本地化方法,但仍未翻译一项活动.它是应用程序中唯一充分利用的活动DataBinding.
完整的解释
我有一个Activity使用DataBinding.所以基本上,XML该Activity的整个布局都包含在<layout>标签内.这是我如何膨胀视图并获得绑定:
SomeActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.some_activity);
还有一些TextViews在XML以这种方式设置有文字:
...
android:text="@string/<name of a string>"
...
我们为用户提供预定义语言选项并使用设置应用程序区域设置
Locale.setDefault(new Locale("<language name>"));
在英语区域,一切都很完美.
当应用程序处于不同的语言环境时,相关活动中的字符串仍然以英语显示 - 即使这些字符串已被翻译为相应的语言,并且位于相同的字符串文件中,其他应用程序抓取字符串来自.在该活动开始之前,应用程序很好 - 在活动开始后我退出它,应用程序将恢复到英语语言环境,直到它被杀死并重新启动.如果从未打开该Activity,则app会按预期运行.
有谁知道可能导致这种情况的原因是什么?谢谢.