android:xml中的View和view.getId()的id

时间:2017-02-21 15:00:58

标签: java android xml

很抱歉愚蠢的问题,但android:idview.getId()之间是否存在一些对应关系?当然,它们是不同的,分别是Stringint类型。我知道android:id可以通过findViewById(R.id.name)获取name,其中android:idview.getId(),但我在xml文件中找不到android:id的值

校正

The type or namespace name 'DotNetNuke' could not be found 在java代码中通过`findViewById(R.id.name)使用,此方法返回视图本身。

3 个答案:

答案 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。

希望这有助于你