我已经阅读了很多Android文档,但仍未找到任何说明"@+id"前缀的id值的含义。我知道"@string"及其变体的含义,但不知道带有"+"的变体的含义。除了回答我的问题,你能告诉我在Android文档中哪里可以找到这个信息吗?
我阅读了Android文档的相关部分,发现"id"值前缀 "@+id" 表示新定义一个资源标识符,并分配一个唯一的整数ID。这个信息可以在Android开发者文档的 "Resources Overview" 章节中找到。我已经阅读了很多Android文档,但仍未找到任何说明"@+id"前缀的id值的含义。我知道"@string"及其变体的含义,但不知道带有"+"的变体的含义。除了回答我的问题,你能告诉我在Android文档中哪里可以找到这个信息吗?
我阅读了Android文档的相关部分,发现"id"值前缀 "@+id" 表示新定义一个资源标识符,并分配一个唯一的整数ID。这个信息可以在Android开发者文档的 "Resources Overview" 章节中找到。加号只是表示如果ID不存在,则应创建该ID。
在布局中定义新视图时,通常使用@+id/foo
,然后使用@id/foo
从布局的另一部分引用该视图(例如,在RelativeLayout层次结构中),或者使用R.id.foo
从代码中引用它。
更新:文档在这里:声明布局 - 属性 - ID
在XML中引用任何资源对象时,必须使用“@”符号。它后面跟着资源类型(在本例中为id)。
只有在第一次定义资源ID时,才需要在资源类型前加上加号(+)。当编译应用程序时,SDK工具使用ID名称在项目的gen/R.java文件中创建一个新的资源ID,该资源ID指向UI元素。通过以这种方式声明资源ID一次,其他对ID的引用不需要加上加号。只有在指定新的资源ID时才需要使用加号,在具体的资源(如字符串或布局)中不需要使用加号。
<TextView
android:id="@+id/SaveResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SaveResult"
android:layout_x="16px"
android:layout_y="190px"
>
</TextView>
然后,在代码中,我使用@+id将布局与变量链接起来。将@+id视为数据库中的外键。
TextView lblSaveResult = (TextView)findViewById(R.id.SaveResult);
lblSaveResult.setText("This text is now on the screen");
抱歉,我不知道这个的文档在哪里...
这句话涉及到IT技术,暂无法提供更多上下文信息。