View的getId()方法和XML文件中定义的id之间有什么关系?有没有?我的ID看起来像这样:“field1”,“field2”......最后这个数字对我的应用程序非常重要,我需要检索它们。有没有办法做到这一点?
答案 0 :(得分:16)
获取资源ID名称:
res.getResourceEntryName(view.getId())
你会得到“field1”
答案 1 :(得分:15)
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
等进行比较。或者,设置一个HashMap
来映射getId()
值和“非常重要”的数字。或者,在ID值上找到一些不涉及魔术名称的其他解决方案。
答案 2 :(得分:1)
View的getId()方法和id之间的相互关系是什么 在XML文件中定义?有没有?
返回此视图的标识符。
相关的XML属性
机器人:ID
返回
用于标识视图的正整数,如果视图没有ID,则为NO_ID
答案 3 :(得分:1)
它返回一个正数,android studio为Android应用程序的每个组件提供备份使用,如果开发人员不提供该组件的ID,android studio将该数字用作该组件的唯一ID。