【问题标题】:How to use integer resources within string resources in android如何在android中的字符串资源中使用整数资源
【发布时间】:2015-07-14 13:46:52
【问题描述】:

如何在我的 strings.xml 文件中使用我的 integers.xml 文件中存储的一些整数。

例如:

我有<integer name="some_integer">5</integer> 我想在我的 strings.xml 文件中使用它:

<string name="some_string">This is my string num @integers/some_integer in a row</string>

显然我的方法不够好,所以我需要一点帮助。我相信有一个可能的解决方案,我只是不知道正确的解决方案。

感谢所有帮助!

【问题讨论】:

    标签: java android xml android-resources


    【解决方案1】:

    短版本是你不能像这样混合资源,但你可以在Java中使用:

    getResources.getString(R.string.some_string,
                           getResources.getInteger(R.integer.some_integer)
                          );
    

    然后在您的字符串 XML 中

    <string name="some_string">This is my string num %d in a row</string>
    

    这样%d 会被您在getString 中传递的整数替换

    【讨论】:

    • ps.:这些都是我用心写的,可能有错别字。
    • 希望我能接受你的两个答案。实际结果是&lt;string name="my_name"&gt;Text here num %1$d and num %2$d &lt;/string&gt; and your getString(R.string.my_name), getResources().getInteger(R.integer.num1), getResources().getInteger(R.integer.num2));
    【解决方案2】:

    其他人说你的方法行不通。这是面对类似问题的旧答案:

    <string name="meatShootingMessage">You shot %1$d pounds of meat!</string>
    
    int numPoundsMeat = 123;
    String strMeatFormat = getResources().getString(R.string.meatShootingMessage);
    String strMeatMsg = String.format(strMeatFormat, numPoundsMeat);
    

    请参阅此参考资料:

    【讨论】:

    • 将我的答案与@Budius 提供的混合在一起
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多