Я новичок в разработке Android. Можно ли использовать один и тот же идентификатор для изображений и TextViews
в разных Layout
файлах XML?
Когда eclipse автоматически перечисляет их для меня, он перечисляет все переменные макета из проекта, так что он столкнется? До сих пор я не заметил никаких проблем с использованием одного и того же идентификатора в разных макетах, но меня это беспокоит в долгосрочной перспективе.
android
android-layout
счастливый
источник
источник
Ответы:
Рекомендуется использовать разные идентификаторы для разных макетов. В конечном итоге, когда у вас будет много макетов и, следовательно, много идентификаторов, будет очень сложно их различать.
Я обычно называют свои идентификаторы , как это:
layoutName_elementId
.Мне помогает легко найти идентификатор, который я ищу, особенно при использовании автозаполнения (я знаю, над каким макетом работаю, но я действительно не знаю идентификатор; в этом случае с моей стратегией именования я введите только имя макета, и оно отобразит все идентификаторы этого макета).
Более подробную информацию о макетах и идентификаторах можно найти здесь .
Удачного кодирования,
источник
ok_button
в каждом вашем занятии? Автозаполнение становится еще понятнее, если вы знаете чат, который ищете.Краткий ответ: да, можно.
Длинный ответ: вы можете сделать это, потому что всякий раз, когда вы используете findViewById () для получения ссылки на часть вашего макета, метод ищет это представление только в текущем расширенном макете. Таким образом, даже если у вас есть другое представление с тем же идентификатором в другом макете, Android не будет искать его там.
источник
Согласно руководствам разработчиков API:
Итак, краткий ответ: это не обязательно, но это хорошая практика, чтобы избежать возможных конфликтов.
источник
Не рекомендуется, потому что, если в будущем вам понадобится рефакторинг
view
id
, студия Android выполнит рефакторинг во всехXML
файлах и классах, и у вас возникнут проблемы.Но бывают также случаи, когда вам действительно нужно использовать то же самое,
id
например, если у вас есть некоторый аннотация, и вы повторно используете несколько макетов.Если у вас есть несколько таких
views
жеid's
в вашем проекте, и вам нужно провести рефакторинг, сделайте это вручную, не используйте функцию сборки в IDE, изменитеid
целевой вид внутриXML
макета, а затем исправьте красную ошибку внутри макета.источник