2016-07-10 60 views
1

一个字符串数组我想做的事情我在这里做了String资源同样的事情:如何格式化从XML

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> 

我该如何做到这一点?

+0

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

+0

如何,我无法获得参考.. – FET

+0

看来你成功地做出了我的建议。 –

回答

0

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

即:

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

嘿,我刚刚开了一个新的问题,也许你可以回答它:http://stackoverflow.com/questions/38307500 /如何对保存数据,和重新开放的,上次使用的活动 – FET

1

我解决了这个添加此方法,该方法将编辑一个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,选择随机,因此格式化为与“ScurcolaString我作为parameter通过。