如何在 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的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 AnroidUIAutomator 在 Appium 中通过部分资源 ID 查找 Android 元素?

Android如何获取当前ImageView中的src资源

Android:如何在状态栏中获取电池图标资源 ID 或完整文件路径/名称?

如何生成唯一的Android设备ID

Android Room Persistence Library - 如何查找 ID 列表中包含 ID 的实体?

如何在 android 中查找所有可用 WiFi 打印机的列表