View方法getId()返回什么?



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.field1R.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

最新更新