Существует несколько разных способов определения идентификатора. В чем разница? - PullRequest
3 голосов
/ 01 апреля 2010

Существует несколько различных способов определения идентификатора:

android:id="@id/android:list"
android:id="@+id/android:list"
android:id="@+id/confirm" 

В чем разница?

Ответы [ 3 ]

4 голосов
/ 01 апреля 2010

android: id = "@ id / android: list" относится к android.R.id.list. android.R содержит ресурсы, которые связаны с платформой. Существует много этих стандартных ресурсов, все они перечислены в JavaDoc .

@ + создает ресурс, поэтому android: id = "@ + id / verify" создает новый идентификатор в классе R вашего приложения, т.е. R.id.confirm. Это объясняется в Интерфейс пользователя> Объявление макета> ID Руководства разработчика.

Я не уверен, что вы можете сделать android: id = "@ + id / android: list", так как это будет означать, что вы пытаетесь создать ресурс в классе ресурсов платформы.

1 голос
/ 01 апреля 2010

+ id / label означает, что ваш ресурс будет иметь значение id = label, и эта метка будет принадлежать пространству имен вашего приложения. Есть много ресурсов, связанных с файлом android.jar, и при обращении к этим ресурсам вы бы сказали android: id = "@android: id / list", что означает, что у вашего ресурса будет id value = list и что это значение принадлежит имени android пространство.

Для получения подробной информации см. Следующее: http://groups.google.com/group/android-developers/browse_thread/thread/dc8023b221351aa7

0 голосов
/ 01 апреля 2010

«+» означает добавить его в R.java вашего текущего проекта. Те, у кого нет плюсов, являются ресурсами, унаследованными от фреймворка.

...