Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 5 da Aula 4 - Tela de Cadastro

Olá pessoal isto é mais um dúvida ou um erro para reportar caso alguém já tenha se deparado com ele. Quando vamos criar um menu precisamos das seguintes identificações no XML.

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

Pelo pouco que entendi o res-auto é o que permite a utilização do componente:

app:showAsAction="always"

No entanto notei algo engraçado, não sei se foi muito sono ou excesso de café, mas caso façam o import errado ele não acusa erro de compilação, porém não será possível visualizar o menu na ActionBar.

Se alguém já teve um erro parecido me informe, ou talvez seja necessário informar como um BUG para o pessoal da Google.

PS: Esse erro ocorreu com o Android Studio.

xmlns:app="http://schemas.android.com/tools"

2 respostas
solução!

Oi Hermivaldo, o certo para usar nos menus basta apenas o namespace com a uri android.

Fonte: http://developer.android.com/guide/topics/ui/menus.html#xml

Mas se vc colocar: xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"

Quando tem o res-auto o componente usa dele. Seu componente vai ter que ter app:showAsAction="always"

Agora o fato de não ter dado erro de compilação acredito que deva ser pelo fato de que o que vem depois de xmlns é apenas um apelido para a uri e se vc usasse xmlns:qualquercoisa = "sua uri " e no seu componente colocasse qualquercoisa:suapropriedade, ele ia passar porque acredito que ele valide só o nome que vc deu para o namespace e não se a uri passada contém o que você precisa. Até porque essas outras uris ai existem também para outras finalidades.

Espero ter ajudado.

Faz bastante sentido, no entanto o que me surpreendeu foi devido a ter criado alguns custom XML antes, porém eles eram bem chatos, pois qualquer erro de sintaxe ocasionava diversos erro na aplicação. No entanto fica a dica para tomar mais cuidado quando escrever meus códigos.