2012-11-21 45 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就不可用了。 –