如何在 Android 中查找所有资源 ID

Posted

技术标签:

【中文标题】如何在 Android 中查找所有资源 ID【英文标题】:How to Find All Resource IDs in Android 【发布时间】:2018-01-26 12:04:23 【问题描述】:

我知道如何找到给定特定 id 的资源(例如getResources().getString(R.string.myString),但如果我想获取所有 id 名称的列表,我该怎么做?

【问题讨论】:

一般来说,这不是一个好主意,因为您的应用中会有 很多 更多常见类型的资源,来自各种库。 @CommonsWare 通常你是对的,但请考虑我的情况。我对资源进行了特殊的命名转换,对于 QA 提议,我需要列出所有应用资源。 @IlyaGazman:那么反射是您唯一的运行时选项,如答案所示。或者,研究创建一些代码生成相关 ID 列表的编译时选项。 【参考方案1】:

R.resource.class.getFields()

例如

Field[] fields = R.id.class.getFields();
for(int z = 0; z < fields.length; z++)
    someArray[z] = fields[z].getInt();

【讨论】:

以上是关于如何在 Android 中查找所有资源 ID的主要内容,如果未能解决你的问题,请参考以下文章