2012-03-04 84 views
3

当声明id时有一个“+”号,但是在引用它时没有符号。这是为什么? +符号的功能是什么?声明android: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"/> 

回答

2

+创建一个id,它可以引用您的java代码中的TextView和EditText对象。所以如果你想访问你在java代码中创建的TextView,你可以通过R.id.label来访问它。并且EditText可以通过R.id.entry

2

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

@+id用于添加新的ID。 @id/用于引用现有的ID。

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

2

当声明id时有一个“+”符号,但是在引用它时没有符号。

这并不严格准确。

+符号用于第一次出现的ID在布局资源中,并且表示我们正在分配一个新的ID。 +可以保留在后续出现的位置,这表明我们正在尝试使用预定义的ID。