Подтвердить что ты не робот

Разница между @id и @android: id

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ListView android:id="@android:id/list" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:layout_weight="1" />
    <Spinner android:id="@+id/section_spinner"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_margin="5dp" />
</LinearLayout>

В чем разница между @android: id и @id в этом случае?

4b9b3361

Ответ 1

Вам нужно использовать @+id, когда вы определяете свой собственный идентификатор для представления, которое в этом случае section_spinner. И @android:id используется, когда вам нужно установить идентификатор представления в заранее определенный Id в андроиде. например, при использовании ListActivity, TabWidget/FrameLayout в TabHost и т.д.

Ответ 2

Символ at (@) в начале строки указывает, что синтаксический анализатор XML должен анализировать и расширять остальную строку идентификатора и идентифицировать его как ресурс идентификатора. Символ плюса (+) означает, что это новое имя ресурса, которое должно быть создано и добавлено к нашим ресурсам (в файле R.java). Существует множество других ресурсов ID, которые предлагаются платформой Android. Когда вы ссылаетесь на идентификатор ресурса Android, вам не нужен символ плюса, но он должен добавить пространство имен пакета для Android.

@+id/section_spinner означает, что вы создаете идентификатор с именем section_spinner в пространстве имен вашего приложения. Вы можете обратиться к нему с помощью @id/section_spinner.

@android:id/list означает, что вы ссылаетесь на список, определенный в пространстве имен android.

"+" означает создание символа, если он еще не существует. Вы не нуждаетесь в этом (и не должны его использовать) при ссылке на android: символы, потому что они уже определены для вас платформой, и вы все равно не можете сделать свой собственный в этом пространстве имен.

Ответ 3

id ваш собственный идентификатор, идентификатор Android по умолчанию является id, присутствующим в res/values ​​для платформы Android./ids.xml имел некоторые идентификаторы, как показано ниже для API 10

res/values/ids.xml

все они являются идентификаторами по умолчанию из android

<resources>
  <item type="id" name="background" />
  <item type="id" name="checkbox" />
  <item type="id" name="content" />
  <item type="id" name="empty" />
  <item type="id" name="hint" />
  <item type="id" name="icon" />
  <item type="id" name="icon1" />
  <item type="id" name="icon2" />
  <item type="id" name="input" />
  <item type="id" name="left_icon" />
  <item type="id" name="list" />
  <item type="id" name="menu" />
  <item type="id" name="message" />
  <item type="id" name="primary" />
  <item type="id" name="progress" />
  <item type="id" name="right_icon" />
  <item type="id" name="summary" />
  <item type="id" name="selectedIcon" />
  <item type="id" name="tabcontent" />
  <item type="id" name="tabhost" />
  <item type="id" name="tabs" />
  <item type="id" name="text1" />
  <item type="id" name="text2" />
  <item type="id" name="title" />
  <item type="id" name="title_container" />
  <item type="id" name="toggle" />
  <item type="id" name="secondaryProgress" />
  <item type="id" name="lock_screen" />
  <item type="id" name="edit" />
  <item type="id" name="widget_frame" />
  <item type="id" name="button1" />
  <item type="id" name="button2" />
  <item type="id" name="button3" />
  <item type="id" name="extractArea" />
  <item type="id" name="candidatesArea" />
  <item type="id" name="inputArea" />
  <item type="id" name="inputExtractEditText" />
  <item type="id" name="selectAll" />
  <item type="id" name="cut" />
  <item type="id" name="copy" />
  <item type="id" name="paste" />
  <item type="id" name="copyUrl" />
  <item type="id" name="switchInputMethod" />
  <item type="id" name="keyboardView" />
  <item type="id" name="closeButton" />
  <item type="id" name="startSelectingText" />
  <item type="id" name="stopSelectingText" />
  <item type="id" name="addToDictionary" />
  <item type="id" name="accountPreferences" />
  <item type="id" name="smallIcon" />
  <item type="id" name="custom" />

Ответ 4

@id 

Вы ссылаетесь на свой собственный id в своем проекте.

и

@android:id

Вы ссылаетесь на идентификаторы, определенные каркасом android