Eu sou novo no desenvolvimento do Android. Posso usar o mesmo ID para imagens e TextViews
em Layout
arquivos XML diferentes ?
Quando o eclipse os lista automaticamente para mim, ele lista todas as variáveis de layout do projeto, então ele colidirá? Até agora não notei nenhum problema em usar o mesmo ID em layouts diferentes, mas estou preocupado com o longo prazo.
android
android-layout
Happyhardik
fonte
fonte
Respostas:
É recomendável que você use IDs diferentes para layouts diferentes. No longo prazo, quando você terá muitos layouts e, portanto, muitos ids, será muito complicado diferenciá-los.
Eu costumo citar meus ids como este:
layoutName_elementId
.Para mim, consigo encontrar facilmente o id que procuro, especialmente ao usar o preenchimento automático (sei em qual layout estou trabalhando, mas não sei realmente o id; neste caso, com minha estratégia de nomenclatura, eu digite apenas o nome do layout e ele traz todos os ids desse layout).
Mais informações sobre layouts e ids podem ser encontradas aqui .
Boa codificação,
fonte
ok_button
em cada atividade sua? O preenchimento automático fica ainda mais claro dessa forma se você conhece o bate-papo que está procurando.Resposta curta: Sim, você pode.
Resposta longa: você pode fazer isso porque sempre que usar findViewById () para obter uma referência a uma parte do seu layout, o método só procura por essa visualização no layout atualmente inflado. Portanto, mesmo se você tiver outra visualização com o mesmo ID em outro layout, o Android não a procurará lá.
fonte
De acordo com os guias de API do desenvolvedor:
Portanto, a resposta curta é que não é obrigatório, mas é uma boa prática para evitar possíveis conflitos.
fonte
Não recomendado, porque se no futuro você precisar refatorar o
view
id
, o Android Studio irá refatorá-lo em todos osXML
arquivos e classes e você terá problemas.Mas também há alguns casos em que você precisa usar o mesmo,
id
por exemplo, se você tiver algum resumo e reutilizar vários layouts.No caso de você ter vários
views
com o mesmoid's
em seu projeto e precisar refatorar, faça-o manualmente, não use a função build in IDE, mudeid
na visualização de destino dentro doXML
layout e então corrija o erro vermelho dentro do layout.fonte