Take the 2-minute tour ×

I've read through much of the Android documentation and I've yet to find any statement that says what an id value prefix of "@+id" means. I know what "@string" and variations of that mean, but not the variation with the "+". Besides giving me the answer, can you show me where in the Android docs this is documented?

share|improve this question

2 Answers 2

up vote 29 down vote accepted

The plus sign simply indicates that the ID should be created if it doesn't exist.

It's common practice to use @+id/foo when defining a new View in a layout, and then use @id/foo to reference the View from another part of the layout (say, in a RelativeLayout hierarchy) or R.id.foo to reference it from code.

UPDATE: Docs are here: Declaring Layout - Attributes - ID

share|improve this answer

That's the syntax for linking an Android XML layout element to your Java code. So if I want to display text in a TextView, I have to do this.

Step one - define the layout


Then, in code, I use @+id to link the layout to the variable. Think of the @+id as a foreign key in a database.

TextView lblSaveResult = (TextView)findViewById(R.id.SaveResult);

Now, it's ready for use. When I assign text, it uses the @+id to see where to put it, and also the color, size, etc..

lblSaveResult.setText("This text is now on the screen");

Sorry, but I don't know where the documentation is for this...

share|improve this answer

Your Answer


