如何从 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 Array
的item
,随机选择 ,因此 格式 带有“Scurcola” String
我通过了 parameter
。
每个数组项本身实际上都是一个字符串。
因此,每个项目都可以单独格式化。
即:
write(String.format(getResources().getStringArray(R.array.goodMorning)[0], "Scurcola"));
我想对 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 Array
的item
,随机选择 ,因此 格式 带有“Scurcola” String
我通过了 parameter
。
每个数组项本身实际上都是一个字符串。
因此,每个项目都可以单独格式化。
即:
write(String.format(getResources().getStringArray(R.array.goodMorning)[0], "Scurcola"));