很抱歉愚蠢的问题,但android:id
与view.getId()
之间是否存在一些对应关系?当然,它们是不同的,分别是String
和int
类型。我知道android:id
可以通过findViewById(R.id.name)
获取name
,其中android:id
是view.getId()
,但我在xml文件中找不到android:id
的值
The type or namespace name 'DotNetNuke' could not be found
在java代码中通过`findViewById(R.id.name)使用,此方法返回视图本身。
答案 0 :(得分:0)
因此,在xml中,您放置为id
的是字符串标识符而不是实际值,实际值会自动生成并存储为Constant int
文件中的R
。在
Module->build->generated->source->r-><build_type>->R.java
View.getId()
返回与R文件中存储的值相同的值。
所以结论是:
xml
中的值是常量标识符,实际值位于R.java
文件中。
view.getId()
返回R中的实际值,而不是常量字符串值。
答案 1 :(得分:0)
view.getId()返回在R.java文件中生成的整数Id,这是在处理xml文件后生成的。
我知道android:id可以通过findViewById(R.id.name)在java代码中获取
错误,你没有得到android:id,事实上你得到了视图本身。
答案 2 :(得分:0)
您的view.getId()
获取Android在后台管理的ID,是了解该项目的唯一编号。您在XML文件中的ID是您为该项目提供的名称,以便在您的代码中引用它,它是该项目的友好名称。
当您执行findViewById(R.id.your_friendly_name)
时,您将获得View itSelf。
希望这有助于你