【问题标题】:Override string.xml with my own strings用我自己的字符串覆盖 string.xml
【发布时间】:2017-03-05 13:40:12
【问题描述】:

我正在尝试从 strings.xml 中覆盖所有自动解析的字符串,以便 android 在不更改 xml 文件中的语法的情况下使用我的字符串而不是 strings.xml 中的字符串。

我想使用在运行时下载的字符串并将它们显示在本机 TextViews、Buttons、ToolBars 等中。我的第一个想法是定义一个自定义 LayoutInflater.Factory 并在视图膨胀后以编程方式设置文本、提示等.问题是 LayoutInflater 代码希望我自己膨胀视图,而复制和粘贴膨胀逻辑似乎是个坏主意。

我的第二个想法是包装 AttributeSet 并注入我自己的字符串,但我找不到这样做的方法。

有没有人有可行的、稳健的方法来完成我正在尝试的事情?

【问题讨论】:

    标签: java android xml string


    【解决方案1】:

    当您将数据作为资源提供时,它不能在运行时进行修改。准确的说,“res”文件夹是不能用java代码修改的。

    这也适用于 Strings.xml,即“Values”文件夹。

    你能做的最好的事情是创建一个字符串类并用它们提供 textviewss 等。您可以访问此类并更改代码中的值并刷新布局(重新充气)以更改外观。

    【讨论】:

    • 你所说的“参加这个班级”到底是什么意思?我知道我无法修改 res 文件夹本身。我只想改变字符串获取的行为。子类化 xmls 中的每个视图似乎很烦人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 2014-11-25
    • 2011-07-05
    • 1970-01-01
    相关资源
    最近更新 更多