我正在尝试覆盖strings.xml中所有自动解析的字符串,以便android确实使用我的字符串而不是strings.xml中的字符串而不更改xml文件中的语法。
我想使用在运行时下载的字符串并在原生TextViews,Buttons,ToolBars等中显示它们。我的第一个想法是在视图膨胀后以编程方式定义自定义LayoutInflater.Factory并设置文本,提示等。问题是LayoutInflater代码要求我自己夸大视图,复制和粘贴通胀逻辑似乎是一个坏主意。
我的第二个想法是包装AttributeSet并注入我自己的字符串,但我找不到办法做到这一点。
有没有人有可行的,强大的方式来完成我正在尝试的东西?
答案 0 :(得分:2)
当您将数据作为资源提供时,无法在运行时修改它。确切地说," res"文件夹不能用java代码修改。
这也适用于Strings.xml,即"值"文件夹中。
你可以做的最好的事情是创建一个字符串类,并将textviewss等与这些字符串一起提供。您可以访问此类并更改代码中的值并刷新布局(重新填充)以更改外观。