gpt4 book ai didi

android - 格式化带参数的字符串数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:42 27 4
gpt4 key购买 nike

我想格式化一个字符串数组,就像 android used to format strings :

通常我们这样做:

  • strings.xml

    <string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
  • 在一些 java 代码中:

    Resources res = getResources();
    String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);

我正在寻找类似的东西:

  • 在一些任意的 xml 中:

        <string-array name="employee">
    <item>name: %1$s</item>
    <item>post: %2$s</item>
    </string-array>
  • 在一些 java 代码中:

    Resources res = getResources();
    String[] employee = ArrayString.format(res.getStringArray(R.string.employee), name, post);

有没有一种优雅的方式来做到这一点?

编辑:

下一段代码是一个变通方法,我发布它只是为了帮助@Sufian,他在评论中要求它。一旦我的问题是关于格式化字符串数组的内容并且下面的代码分别格式化每个字符串,这就不是一个真正的答案。

在一些 misc.xml 中:

<string-array
name="string_array">
<item>1st position: %1$d</item>
<item>2nd position: %1$d</item>
</string-array>

然后,在java代码中:

res = getResources();
String[] sa = res.getStringArray(R.array.string_array);
for (int i = 0; i < sa.length; i++ ) {
text += String.format(sa[i], i);
}

最佳答案

只需使用:

String text = String.format(res.getStringArray(R.array.myStringArray)[index], param1, param2);

关于android - 格式化带参数的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16060271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com