View的getId()方法和XML文件中定义的id之间的相互关系是什么?有吗?我的id是这样的:"field1", "field2"…最后的数字对我的应用程序非常重要,我需要检索它们。有什么办法吗?
获取资源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
。
末尾的数字对我的应用程序非常重要,我需要检索它们。有什么办法吗?
有一个比较ID和R.id.field1
等的大switch语句。或者,设置一个HashMap
来映射getId()
值和"非常重要"的数字。或者,找到其他不涉及ID值上的魔术名称的解决方案。
从文档:View的getId()方法和id之间的关联是什么在XML文件中定义的?有吗?
返回该视图的标识符。
相关XML属性
android: id
返回一个正整数,用于标识视图;如果视图没有ID,则为NO_ID
它返回一个正数,android studio给android应用程序的每个组件备份使用,如果开发者不提供该组件的ID, android studio使用该数字作为该组件的唯一ID