可以在运行时将这些XML文件动态加载到应用程序中吗?
如果没有,是否可以覆盖UI XML和资源XML之间的绑定,以便我可以绑定到我自己的动态加载的XML文件,而不是res /值中的一个?
谢谢
解决方法
Is it possible to dynamically load those xml files at runtime into the app?
不,对不起
If not,is it possible to override the binding between the UI xml and the resources XML in such a way that I can bind to my own,dynamically loaded xml file instead of one in res/values?
res / values /中没有使用任何东西,除非你使用它.所以没有什么可以“超越”的.
例如,假设你有一个TextView.你希望它显示一些文本.您希望该文本被本地化.通常,您将设置一系列字符串资源,每个转换一个字符串资源,然后使用这些字符串资源与TextView(例如,在布局中的android:文本或Java中的setText()).在你的情况下,你不会设置字符串资源,而是“做自己的事情”,并根据需要调用setText().
你的方法失去的是自动转换.如果用户在您的应用程序运行时切换语言,Android会将其视为配置更改,并在返回到前台时重新启动您的活动.通常,这将自动加载新的字符串资源.在你的情况下,它不会,因为你不使用字符串资源.相反,您需要告诉Android才能重新启动您的活动(通过android:configChanges),并手动重新加载所有的TextView等小部件.如果你忘记了一个,那么用户只是搞砸了.
IMHO,除非有人指着你的头,迫使你尝试改变翻译,而不发送新版本的应用程序,只需使用字符串资源并发送新版本的应用程序.