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

Dúvida no Ex. 2 da Aula 3 - Sem sub menu em modo paisagem

copiei a pasta menu colei e renomeei para menu-land, entrei no menu_lista_alunos.xml e removi o sub menu.

Funcionou tudo, só que não entendi porque funcionou.

public boolean onCreateOptionsMenu(Menu menu) 
    {
        getMenuInflater().inflate(R.menu.menu_lista_alunos, menu);    
        return super.onCreateOptionsMenu(menu);
    }

A verificação se é feita no Adapter em

if(telefone!=null){
            telefone.setText(aluno.getTelefone());

Após verificar o Android procura se existem outra pasta com mesmo nome e com sufixo "-land"?

tentei mudar o nome da pasta para menu2 e deu erro.

2 respostas
solução!

Se você tiver dois menus com o mesmo nome (menu_lista_alunos.xml), um na pasta res/menu e outro na pasta res/menu-land, quando fizer o inflate...

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_lista_alunos, menu);    
    return super.onCreateOptionsMenu(menu);
}

... o Android vai verificar se há um arquivo menu_lista_alunos na pasta com mais qualifiers que combinem com a configuração do aparelho. Caso nenhum qualifier combine, ele devolverá o que estiver na pasta menu.

No seu caso, quando o aparelho está na horizontal, o Android vai buscar por menus em pastas com o qualifier -land, como você tem um menu na pasta res/menu-land, esse xml será devolvido e inflado.

Obrigado, entendi! com o qualifier -land

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software