2011-06-07 56 views
0

通常我使用getString(R.string。)查询xml文件中的字符串。有什么办法通过getString(“”)来查询xml文件。因为在我的代码中,我想根据条件动态加载资源文件中存在的字符串。任何帮助将对我学习android非常有用。动态查询字符串是Strings.xml文件

-Regards, 罗恩..

+0

不清楚你将如何动态地在字符串文件中放置字符串。 – woodshy 2011-06-07 12:59:56

+0

对不起,我的英文。我在strings.xml文件中设置了错误代码和相应的错误字符串。我想显示与我从程序中获得的错误代码相对应的错误字符串。是否有可能从xml文件中动态获取字符串? – Ron 2011-06-07 14:36:05

回答

0

可以动态检索字符串资源的ID如下:

int resId = getResources().getIdentifier("key_name", "string", getPackageName()); 
Log.d("MyApp", "resource id is " + resId + " and value is " + getString(resId)); 

凡KEY_NAME是在strings.xml一个字符串的名称。

我希望我能正确理解你的问题。

+0

谢谢!这是我正在寻找的。 – Ron 2011-06-07 14:44:42

+0

当然 - 值得注意的是,这比仅仅引用R.string.key_name更慢(根据android.com上的文档)。如果您的项目数量有限,则对它们进行硬编码可能更有意义。另外,要小心检查resId == 0是否意味着该字符串不存在。 – 2011-06-07 14:47:26

+1

是的,当然!只是一个想法,分享这个[链接](http://daniel-codes.blogspot.com/2009/12/dynamically-retrieving-resources-in.html),我通过搜索互联网找到关于getIdentifier()的限制。 – Ron 2011-06-07 14:59:58