2012-11-21 107 views
0

我有這個問題關於獲取字符串值而不使用xml上的字符串數組,我只是不知道它是否可能。從xml動態獲取值

我file.xml可以同時擁有這

<resources> 
    <string name="test1"></string> 
    <string name="test2"></string> 
</resources> 

這:

<resources> 
    <string name="test1"></string> 
</resources> 

有沒有什麼辦法讓這些值編程,沒有一個數組。因爲並非總是我有「test2的」串

R.string.test1; 
R.string.test2; 

的問題是,我不能做到這一點。有什麼方法可以讓所有的價值得到?

謝謝。

+0

爲什麼你會不會總有一個test2的字符串? – PearsonArtPhoto

+0

您需要解釋更多。你在哪裏存儲這兩個不同的文件,因爲他們不能在同一個目錄中? – Simon

+0

這是一個定製。有一次,我可以只有test1,或test1,test2和test3或10個值。你知道?它是動態的。 – Otuyh

回答

2

你可以用它的名字(而不是它的id)接收字符串:

String packageName = getPackageName(); 
    int resId = getResources().getIdentifier("test2", "string", packageName); 
    String test2 =getString(resId); 
+0

完美的工作=)我只是添加了一個try/catch來繼續循環,當不存在一個字符串和Vualá時!謝謝! – Otuyh

-1

試試這個

String test1 = getResources().getString(R.string.test1); 
String test2 = getResources().getString(R.string.test2); 

more info

+0

如果我正確地理解了這個問題,那麼R.string.test2就不可用了。 –