There are several different ways of definition the ID. What is the difference? android:id="@id/android:list" android:id="@+id/android:list" android:id="@+id/confirm"
views:
90answers:
3The '+' means add it to your current project's R.java. Those without pluses are resources inherited from the framework.
+id/label means that your resource will have an id value = label and that label belongs to your application's name space. There are many resources bundled with android.jar file and when referring to these resources you would say android:id = "@android:id/list" which means your resource will have an id value = list and that this value belongs to android name space.
Refer the following for details: http://groups.google.com/group/android-developers/browse_thread/thread/dc8023b221351aa7
android:id="@id/android:list" refers to android.R.id.list. android.R contains resources that are bundled with the platform. There are lots of these standard resources, they are all listed in the JavaDoc.
@+ creates a resource, so android:id="@+id/confirm" creates a new id in your application's R class, ie. R.id.confirm. This is explained in the User Interface > Declaring Layout > ID of the Dev Guide.
I'm not sure you can do android:id="@+id/android:list", as it would mean you are trying to create a resource on the platform's resource class.