View 的 getId() 方法和 XML 文件中定义的 id 之间有什么关联?有没有?我的 ID 如下所示:“field1”、“field2”……最后的这些数字对我的应用程序非常重要,我需要检索它们。有什么办法吗?
4 回答
要获取资源 ID 名称:
res.getResourceEntryName(view.getId())
你会得到“field1”
View 的 getId() 方法和 XML 文件中定义的 id 之间有什么关联?
getId()
返回android:id
值,或您通过设置的值setId()
。
我的 ID 如下所示:“field1”、“field2”
在您的 XML 中,它们可能看起来像@+id/field1
和@+id/field2
. 这些是分配 ID 资源,在编译时转换为数字。这些是您在 Java 代码中称为R.id.field1
和的数字R.id.field2
。
最后的这个数字对我的应用程序非常重要,我需要检索它们。有什么办法吗?
有一个大的 switch 语句将 ID 与R.id.field1
等进行比较。或者,设置一个值和“非常重要”的数字HashMap
之间的映射。getId()
或者,在您的 ID 值上找到一些不涉及魔术名称的其他解决方案。
View 的 getId() 方法和 XML 文件中定义的 id 之间有什么关联?有没有?
从文档:
返回此视图的标识符。
相关 XML 属性
机器人:身份证
退货
用于标识视图的正整数,如果视图没有 ID,则为 NO_ID
It returns a positive number which android studio gives to every component of android app for backup use, In case the developer does not provide the ID of that component, android studio uses that number as a unique ID for that component.