Раньше я давал простые идентификаторы в представлениях Android, но в последнее время я вообще прекратил это из-за этой проблемы.
Допустим, у меня есть 2 макета, один с именем first_layout.xml
и второй с именем second_layout.xml
.В каждом из этих макетов есть представление с идентификатором username_input
.Этот идентификатор используется в разных классах действий для доступа к целевому представлению, будь то ButterKnife
привязка, Kotlin Android Extensions
или даже findViewById
.
Теперь, по какой-то причине, мне нужно переименовать id только в одном макете.Таким образом я делаю Refactor -> Rename
.Что просходит?Android Studio просто заменяет id username_input
во всем проекте, мешая другим макетам, которые имели тот же идентификатор.Большинство людей не используют уникальный идентификатор для каждого представления в проекте, так как это не является обязательным, но я делаю это, потому что я много реорганизовываю, и много раз я терял часов из-за этого неконтекстуальногозамена в проекте.
Какие у меня варианты в этом случае?Есть ли способ заставить Android Studio выполнять контекстную замену в такой ситуации, или я должен продолжать делать уникальные идентификаторы в своем проекте?