2016-07-10 4 views
1

Ich will das Gleiche tun Ich habe hier für eine String Ressource:Wie ein String-Array von XML zu formatieren

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

aber für ein String Array, wie folgt definiert:

<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> 

Wie kann ich das erreichen?

+0

Jedes Array-Element per se ist tatsächlich eine Zeichenfolge. Daher kann jeder Artikel individuell formatiert werden. –

+0

Wie kann ich keine Referenz bekommen .. – FET

+0

Es scheint, dass Sie erfolgreich waren, was ich vorgeschlagen habe. –

Antwort

0

Jedes Array-Element an sich ist eigentlich eine Zeichenfolge.
Daher kann jeder Artikel individuell formatiert werden.

d.h .:

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

Hey, ich habe gerade eine neue Frage geöffnet, vielleicht kannst du sie beantworten: http://stackoverflow.com/questions/38307500/how-to-save-data-und-öffnen-die-zuletzt-verwendete-Aktivität – FET

1

Ich löste dieses Verfahren das Hinzufügen, die eine TextView bearbeitet: Ich kann einfach geben

Auf diese Weise

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"); 

und erhalten als Ausgang ein item des String Array, gewählt zufällig, also formatiert mit der "Scurcola" String habe ich als parameter übergeben.

Verwandte Themen