[ANDROID]Ids nos layouts

Boa tarde !

Estou fazendo um app simples de cadastro de pessoas, e me deparei com um problema, pois ainda estou aprendendo a desenvolver para android.

Bom, nos arquivos XML que definem os layouts(telas), é possível específicar os IDs dos components para poderem ser recuperados nas activities e services, mas ai parei para pensar na seguinte situação:

E quando uma app possuir varios layouts, por exemplo, e nesses layouts um ou mais components possuírem o ID identico a um de outro layout, por exemplo

btnCadastrar(@+id/btnCadastrar) no layout principal(main.xml)

e btnCadastrar(@+id/btnCadastrar) em um outro layout qualquer(layoutQualquer.xml)…

Como ficaria a diferenciação de um para o outro na hora de recupera-los pelo ID? sendo que o android ja cira uma classe chamada R que possuí inner classes e uma delas é id, onde possuí varias referencias estáticas aos ids dos components.

Alguém consegue me esclarecer isso ?

OBS: Eu estou usando o AndroidAnnotations para fazer injeção de dependencias.

OBS2: Também tentei fazer algo para diferenciar os IDs, mas acabou causando erro de compilação identificado pelo AndroidAnnotation, pois fiz o seguinte:
Declarei os ids separados por layout, por exemplo, para os components do layout principal(main.xml) declarei-os da seguinte forma: @+formMain/idComponent.

Mas isto causa erro de compilação: [color=red]Id value not found in R.id: 2131165186[/color] e [color=red]Id not found: R.id.btnCadastrar or R.id.btn_cadastrar[/color]

O Android usa o mesmo id pros dois.

A diferença é que um ViewGroup sempre procura dentro da sua propria hierarquia o componente com este id. No caso de dois componentes com mesmo id estar na mesma hierarquia ele vai pegar um dos dois (o que vai te lançar um ClassCastException ou colocar o listener no componente errado).

[quote=Marky.Vasconcelos]O Android usa o mesmo id pros dois.

A diferença é que um ViewGroup sempre procura dentro da sua propria hierarquia o componente com este id. No caso de dois componentes com mesmo id estar na mesma hierarquia ele vai pegar um dos dois (o que vai te lançar um ClassCastException ou colocar o listener no componente errado).[/quote]

Ahh entendi…

Então, não importa se eu tiver 5 botões com msm ID, porém em layouts diferentes, quando eu usar o findViewById, ele vai me retornar o botão do layout corrente e não vai dar conflito com os outros, correto ?