2013-03-11 5 views
5

Gibt es jemand weiß, wie man eine definierte Zeichenkette in einem String-Definition beziehen, das heißt:Android: Wie Strings in einem String-Definition siehe

<string name="string_1">I am string 1</string> 

und dann

<string name="string_2">I want to refer to @string/string_1</string> 
<string name="string_3">@string/string_1 need to be referred here</string> 

I habe die Beispielcodes ausprobiert, aber es hat nicht funktioniert!

+0

Sie ein anderes Element verweisen kann nicht innerhalb eines anderen Element gelöst bekommen. – JoxTraex

+0

Am besten ist dies im Code selbst zu tun. – QVDev

+0

Möglich [duplicate1] (http://stackoverflow.com/questions/4746058/reference-one-string-from-another-string-in-strings-xml), [duplicate2] (http://stackoverflow.com/questions/3722374/android-how-to-injizieren-ein-string-element-in-another-string-element-in-xml) – SudoRahul

Antwort

5

Sie könnten versuchen, String.format() mit:

<string name="string1">I am %1$s</string> 
<string name="string2">String 1</string> 

... 
String string1 = String.format(resources.getString(R.string.string1, R.string.string2)); 
+0

ein guter Spaziergang –

1

Ja Sie es an einem Zustand tun können, solange Sie die gesamte Zeichenfolge

<string name="string_1">I am string 1</string> 
<string name="string_2">I am string 2</string> 

und dann Referenz

<string name="string_2">@string/string_1</string> 
<string name="string_3">@string/string_2</string> 

<string name="string_default">@string/string2</string> 

aber folgendes wird nicht unterstützt

<string name="string_default">@string/string1 TEST</string> 



Sie können auch Ihr Problem durch die Verwendung String.format() (einen guten Weg um)

Verwandte Themen