Android 从xml动态获取值

Android 从xml动态获取值,android,xml,string,Android,Xml,String,我有一个关于在xml上不使用字符串数组而获取字符串值的问题,我只是不知道这是否可能 My file.xml可以同时具有这两个属性 <resources> <string name="test1"></string> <string name="test2"></string> </resources> 因为我并不总是有“test2”字符串。有没有办法通过友好的方式获得所有的价值观 谢谢。您可以收到带有名称(而不

我有一个关于在xml上不使用字符串数组而获取字符串值的问题,我只是不知道这是否可能

My file.xml可以同时具有这两个属性

<resources>
   <string name="test1"></string>
   <string name="test2"></string>
</resources>
因为我并不总是有“test2”字符串。有没有办法通过友好的方式获得所有的价值观


谢谢。

您可以收到带有名称(而不是id)的字符串:

试试这个

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

为什么不总是使用test2字符串?您需要进一步解释。由于这两个不同的文件不能在同一个目录中,所以您将它们存储在哪里?这是一个自定义项。有一次我可能只有test1,或者test1,test2和test3,或者10个值。你知道吗?它是动态的。是的,非常有趣。我假设您使用的是/res/values中的XML资源,因为您没有声明其他内容,所以出现了这个问题。是的,但我是。这是resource.xml的定制:)如果我正确理解了这个问题,那么这就是R.string.test2不可用的全部原因。完美地工作=)我只是添加了一个try/catch,在不存在字符串和vualá时继续循环!谢谢
R.string.test1; 
R.string.test2;
   String packageName = getPackageName();
   int resId = getResources().getIdentifier("test2", "string", packageName);
   String test2 =getString(resId);
String test1 = getResources().getString(R.string.test1);
String test2 = getResources().getString(R.string.test2);