Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialSteven Sierra Forero
3,486 PointsWhat is the difference between @+id and @id?
The code challenge rejected to use @+id/captionField and instead suggested to use @id/captionField, what is the difference?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/captionField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:hint="Enter a caption" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/captionField"
android:src="@drawable/grumpy_cat" />
</RelativeLayout>
1 Answer
Greg Schmidt
5,908 PointsWhen you use the +sign you are instructing the parser(or builder) to create a new entry in R.java. Without the + you are referring to an id that has already been created, so the parser links it to the id which has already been created.