使用从android服务器下载到sd卡的/strings.xml覆盖res/values/strings.xml文件

使用从android服务器下载到sd卡的/strings.xml覆盖res/values/strings.xml文件,android,Android,我想用从服务器下载的strings.xml文件替换嵌入apk的strings.xml文件,该文件存储在我的内部sd卡中。是否可以将外部标记引用到TextView。我的客户希望完全控制应用程序中的语言。如果我成功地从服务器下载strings.xml,并将其存储到sd卡中,我如何将标记元素引用到相应的textView。我真的不需要代码,只需要关于这个方法的想法和批评。我认为这不会起作用,因为您的资源是以一种特殊的方式编译到apk中的,因此可以根据设备配置访问它们。这在编译时发生。在安装应用程序后,您

我想用从服务器下载的
strings.xml
文件替换嵌入
apk
strings.xml
文件,该文件存储在我的内部
sd卡中。是否可以将外部标记引用到
TextView
。我的客户希望完全控制应用程序中的语言。如果我成功地从服务器下载
strings.xml
,并将其存储到sd卡中,我如何将标记元素引用到相应的
textView
。我真的不需要代码,只需要关于这个方法的想法和批评。

我认为这不会起作用,因为您的资源是以一种特殊的方式编译到apk中的,因此可以根据设备配置访问它们。这在编译时发生。在安装应用程序后,您不能简单地交换strings.xml。

我认为这不会起作用,因为您的资源以一种特殊的方式编译到apk中,以便可以根据设备配置访问它们。这在编译时发生。安装应用程序后,您不能简单地交换strings.xml。

这是不可能的。如果要实现这一点,必须在创建控件时在运行时设置语言

如果您有完整的布局(不创建动态控件),则必须递归扫描布局,查找按钮、文本视图、提示等,识别控件并从下载的文件中设置文本属性

大概是这样的:

for(int i=0;i<yourLayout.getChildsCount;i++)
{
    View v = yourLayout.getChildAt(i);
    if(v instanceof Button){
        ((Buttons)v).setText(LANG.get(v.getTag()));
    }
}
将您的语言放在hashmap中:

HashMap<String, String> LANG = new HashMap<String, String>();
HashMap LANG=newhashmap();
并为布局中的每个控件设置标记属性。然后你可以找到这样的:

for(int i=0;i<yourLayout.getChildsCount;i++)
{
    View v = yourLayout.getChildAt(i);
    if(v instanceof Button){
        ((Buttons)v).setText(LANG.get(v.getTag()));
    }
}

for(int i=0;i这是不可能的。如果要实现这一点,必须在创建控件时在运行时设置语言

如果您有完整的布局(不创建动态控件),则必须递归扫描布局,查找按钮、文本视图、提示等,识别控件并从下载的文件中设置文本属性

大概是这样的:

for(int i=0;i<yourLayout.getChildsCount;i++)
{
    View v = yourLayout.getChildAt(i);
    if(v instanceof Button){
        ((Buttons)v).setText(LANG.get(v.getTag()));
    }
}
将您的语言放在hashmap中:

HashMap<String, String> LANG = new HashMap<String, String>();
HashMap LANG=newhashmap();
并为布局中的每个控件设置tag属性。然后可以按如下方式找到它们:

for(int i=0;i<yourLayout.getChildsCount;i++)
{
    View v = yourLayout.getChildAt(i);
    if(v instanceof Button){
        ((Buttons)v).setText(LANG.get(v.getTag()));
    }
}

for(int i=0;ii如果我们扩展textview并将下载的strings.xml放入其中,我们可以引用它吗如果我们扩展textview并将下载的strings.xml放入其中,我们可以引用它吗