2010-08-31 14 views
11

Android, kaynak "çubuk" kaynağı "foo" adlı kaynak için bir takma ad haline geldiğindeBir android kaynak dizelerini yeni dizelerle birleştirebilir mi?

<resources> 
<string name="foo">somestring</string> 
<string name="bar">@string/foo</string> 
</resources> 

gibi kaynak dizelerinin diğer adlarını oluşturmaya izin verir.

Uygulamam için kullanacağım şey, varolan bir kaynak önekini farklı soneklerle birleştirme, diğer bir deyişle:

<resources> 
<string name="foo">foo</string> 
<string name="bar">@string/foo+bar</string> 
<string name="else">@string/foo+else</string> 
</resources> 

kaynak "bar" dizgesinin "foobar" değerini vermesidir. '+' Nın burada çalışmadığı açıktır, ancak böyle bir dizgi birleştirme elde etmek için başka bir seçenek var, böylece ortak bir öneki olan bir dizi dize kaynağı tanımlanabilir mi?

Tabii ki çalışma zamanında böyle bir kaynak dizisi birleştirmesi yapabildiğimi, ancak kaynaklarda statik olarak tanımlamanın çok daha şık ve daha basit olacağını fark ettim.

Michael

cevap

15

Hayır, bu mümkün değil. Sadece ile değişken doldurmak için uygulamanızda String.format() kullanmak sonra <string name="bar">This is my %s</string> kullanabilir ve `String.format (GetResources(). GetString (R olacak bu 2 birleştirerek sonuçlandı örnek

getResources().getString(R.string.foo); 
+0

dize için. string.bar), GetResources(). getString (R.string.foo)) ' – Paul

İlgili konular