Как инструмент предварительного просмотра макета Android-студии точно работает с '@ + id' и '@id'? - PullRequest
0 голосов
/ 27 мая 2019

Конечно, я использовал @id после того, как объявлено @+id, и мое приложение хорошо работает с моим кодом, меня смутило то, что при предварительном просмотре моих XML-файлов ссылка @id, похоже, не работает вообще, и макет был в Мой проект библиотеки не основной, который зависел от aar.

Если я изменю layout_below="@id/tv_1 на layout_below="@+id/tv_1, предварительный просмотр будет работать хорошо. Или я объявляю это в id.xml файлах с идентификатором моей библиотеки и использую @id/tv_1, предварительный просмотр также работает хорошо.

все вышеперечисленные решения, кажется, не имеют значения после того, как я запускаю свой основной проект, они все работают хорошо. Я просто не могу понять, почему у предварительного просмотра есть проблемы, и как работает «+» при предварительном просмотре XML-файла.

Примеры:

<RelativeLayout ..>
<TextView android:id="@+id/tv_1" ../>

<EditText android:id="@+id/et_1"
android:layout_below="@id/tv_1" ../>

</RelativeLayout>

1 Ответ

2 голосов
/ 27 мая 2019

@+id создает новую запись в классе R.java, которая хранит и идентифицирует активы.

@id просто ссылается на ранее созданную сборку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...