No meu NavigationView, tenho um layout de cabeçalho com o id 'viewId' com botões ativos. Para configurar esses botões, faça o seguinte nas atividades onPostCreate
:
final View panel = findViewById(R.id.viewId);
panel.setOnClickListener(new View.OnClickListener() {
... setup goes here ...
});
Com a nova versão da biblioteca de suporte Android, ( 23.1.0 ), a visualização não pode ser encontrada, ela retorna nula. Nas versões anteriores, funcionava bem. É um bug ou estou usando esse recurso errado? Se sim, como acessar o layout do cabeçalho e adicionar comportamento a ele?
inflateHeaderView
, ele anexa o modo de exibição para você na camada correta noRecyclerView
com o pai correto - algo que você não pode fazer externamenteNavigationView
.Agora, com a versão 23.1.1 da biblioteca de suporte ao design, você pode usar
fonte
navigationView.getHeaderCount()
se tiver mais de um cabeçalho por qualquer motivo.É assim que eu fiz isso usando
ButterKnife
e funciona para mim.e, em seguida, use esse suporte de exibição como este:
fonte
Para mim, foi a mesma situação com 23.1.0, após a atualização, a exceção de ponteiro nulo se tornou. Nesse caso, é
NavigatorView
parecido com:Eu tentei a proposta de solução por ianhanniballake, mas ela não funciona. Então eu inflado com a frase:
Depois disso, posso encontrar por ID todas as visualizações definidas no
nav_heard
layout.fonte
fonte
No código Kotlin @Francois Dermu seja
fonte
Versão Kotlin.
fonte