我有一个错误代码的XML文件,格式如下:
<resources>
<string name ="e1001">"Description of error 1001"</string>
<string name ="e1002">"Description of error 1002"</string>
...
</resources>
通常这些可以通常的方式访问,即R.string.e1001
。
是否可以通过在引用中使用变量来引用,还是必须使用Xpath?
这显然不起作用,但有些内容如下:
String s = getErrorCode(); //returns a value, i.e "e1001"
showAlert(R.string.+s);
答案 0 :(得分:0)
在Activity
/ Fragment
中,您可以通过执行以下操作获取资源的String
值:
//Activity
String s = getString(R.string.s);
//Fragment
String s = getActivity().getString(R.string.s);
您的问题是不知道R.string.s
返回实际返回int
。基本上,它是Android使用的参考,用于确定应用程序中字符串的位置。
getString()
Context类中的方法 - 有关详细信息,请参阅docs
修改强>
根据您的评论,您需要尝试以下操作:
String resourceName = getErrorCode();
String alert = getResources().getIdentifier(resourceName, "string", getPackageName());
showAlert(alert);
答案 1 :(得分:0)
尝试使用此活动
String s = getString(R.string.urresourcename);
尝试使用片段
String s = getActivity().getString(R.string.urresourcename);