如何从 XML 格式化字符串数组

How to format a String Array from XML

我想对 String 资源做同样的事情:

write(String.format(getString(R.string.night), "Scurcola"));

但是对于一个String Array,定义如下:

<string-array name="goodMorning" formated="false">
    <item>Good Morning folks!</item>
    <item>Sun\'s out, guns out.</item>
    <item>Careless vampires burn, and you wake up!</item>
    <item>Can\'t find the moon. Oh it\'s probably morning then..</item>
    <item>Darkness flees from %s, wake up!</item>
    <item>Sunlight manifests, it\'s morning %s!</item>
    <item>Stars went to bed, and %s wakes up!</item>
    <item>Be beep. Be beep. %s wake up!</item>
</string-array>

我怎样才能做到这一点?

我解决了这个添加这个编辑 TextView:

的方法
public void write(int id, int position, String text){
    String[] msg = getResources().getStringArray(id);
    messages.add(String.format(msg[position], text));
    adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, messages);
    screen.setAdapter(adapter);
}

这样我就可以简单地输入:

write(R.array.goodMorning, randInt(0, 7), "Scurcola");

并得到输出一个String Arrayitem,随机选择 ,因此 格式 带有“ScurcolaString 我通过了 parameter

每个数组项本身实际上都是一个字符串。
因此,每个项目都可以单独格式化。

即:

write(String.format(getResources().getStringArray(R.array.goodMorning)[0], "Scurcola"));