вы ссылаетесь на Android resources
, которые уже определены в системе Android, с @android:id/..
, в то время как для доступа к ресурсам, которые вы определили / создали в своем проекте, вы используете @id/..
Подробнее
Согласно вашим разъяснениям в чате, вы сказали, что у вас возникла такая проблема:
Если мы используем android:id="@id/layout_item_id"
, она не работает.Вместо этого @+id/
работает, так в чем здесь разница?И это был мой первоначальный вопрос.
Ну, это зависит от контекста, когда вы используете атрибут XML android:id
, вы указываете новый идентификатор и инструктируетесинтаксический анализатор (или назовите его создателем) для создания новой записи в R.java
, таким образом, вы должны включить знак +
.
В то время как в другом случае, например, android:layout_below="@id/myTextView"
, вы имеете в видук идентификатору, который уже был создан, поэтому парсер связывает его с уже созданным идентификатором в R.java
.
Дополнительная информация
Как вы сказали в чатеобратите внимание, что android:layout_below="@id/myTextView"
не распознает элемент с идентификатором myTextView
, если он записан после того элемента, в котором вы его используете.