声明android:id为什么使用“+”?

时间:2012-03-04 19:47:07

标签: android eclipse

当声明id时,会出现一个“+”符号,但在引用它时没有任何符号。这是为什么? +符号的功能是什么?

<TextView
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Type here:"/>
<EditText
android:id="@+id/entry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_below="@id/label"/>

4 个答案:

答案 0 :(得分:2)

+创建一个id,允许您在java代码中引用TextView和EditText对象。因此,如果您想访问在Java代码中创建的TextView,可以通过R.id.label访问它。可以通过R.id.entry

访问EditText

答案 1 :(得分:2)

有两种可能性,@id/@+id/

添加新ID时使用

@+id@id/用于引用现有ID。

+符号表示此ID是新的,并且不是现有ID的更新。

答案 2 :(得分:2)

  

声明id时会出现一个“+”符号,但在引用它时没有任何符号。

这不是严格准确的。

+符号用于布局资源中ID的第一次出现,表示我们正在分配新ID。 +可以在以后的事件中保留,表示我们正在尝试使用预定义的ID。

答案 3 :(得分:1)

来自a webpage explaining android:id的引用:

  

仅在指定新资源时才需要使用加号   ID和字符串或布局等具体资源不需要。

webpage about providing resources on developer.android.com上的表1包含您不使用的所有资源@ + id