显示字符串键而不是值

时间:2014-06-05 12:43:40

标签: android localization android-resources

是否可以在strings.xml中显示我的字符串的键而不是值,在UI中直接检查哪个键是很酷的。

例如

<string name="jobs_key">Jobs</string>

我想在界面jobs_key而非Jobs

中展示

1 个答案:

答案 0 :(得分:0)

使用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中声明的所有键。