2013-03-11 11 views
5

Czy ktoś wie, jak odnoszą się do określonego ciągu znaków w definicji łańcucha, tj:Android: Jak odwołać się do strun w definicji łańcucha

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

a następnie

<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 Próbowałem kodów przykładowych, ale nie działało!

+0

nie można odwołać inny element w innej pozycji. – JoxTraex

+0

Najlepiej zrobić to w samym kodzie. – QVDev

+0

Możliwe [duplicate1] (http://stackoverflow.com/questions/4746058/reference-one-string- from-another-string-in-strings-xml), [duplicate2] (http://stackoverflow.com/questions/3722374/android-how-to-inject-a-string-element-in-another-string-element-in-xml) – SudoRahul

Odpowiedz

5

Można spróbować użyć String.format():

<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

dobry spacer –

1

Tak można to zrobić w jednym stanie tak długo, jak można odwołać cały ciąg

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

a następnie

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

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

ale następujące nie jest obsługiwane

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



Można również uzyskać problem został rozwiązany za pomocą String.format() (dobry spacer)

Powiązane problemy