【发布时间】:2014-06-05 12:43:39
【问题描述】:
是否可以在 strings.xml 中显示我的字符串的键而不是值,直接在 UI 中检查哪个键是很酷的。
例如
<string name="jobs_key">Jobs</string>
我想在 UI 中显示 jobs_key 而不是 Jobs
【问题讨论】:
标签: android localization android-resources
是否可以在 strings.xml 中显示我的字符串的键而不是值,直接在 UI 中检查哪个键是很酷的。
例如
<string name="jobs_key">Jobs</string>
我想在 UI 中显示 jobs_key 而不是 Jobs
【问题讨论】:
标签: android localization android-resources
使用Resources.getResourcesName(int),
返回给定资源标识符的全名
here你可以找到文档。你也可以使用反射:
private ArrayList<String> getKeysName(Context context, String className) {
Class c;
ArrayList<String> fieldsName = new ArrayList<String>();
try {
c = Class.forName(context.getPackageName() + ".R$" + className);
Field[] fields = c.getDeclaredFields();
for (Field f : fields) {
Log.e("LOG_TAG", " " + f.getName());
fieldsName.add(f.getName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return fieldsName;
}
并像 getKeysName(context, "string"); 一样调用它,以获取例如在 string.xml 中声明的所有键。
【讨论】: