我无法从navigationView到达HeaderView的原因是什么?
我正在使用带有抽屉模板的android studio项目,在MainActivity extends FragmentActivity
onCreate
方法{i}}方法我要更新导航标题(nav_header_main
)
在onCreate
中,我调用以下方法:
private void updateUI(boolean signedIn) {
navigationView = (NavigationView) findViewById(R.id.nav_view);
Menu nav_Menu = navigationView.getMenu();
View headerView = navigationView.getHeaderView(R.layout.nav_header_main);
TextView tvUserName = (TextView) headerView.findViewById(R.id.tvUserName);
if (signedIn) {
tvUserName.setText(acc.getDisplayName());
}
} else {
tvUserName.setText("-");
}
}
}
navigationView似乎具有所有需要的值,但HeaderView为null
(View headerView = navigationView.getHeaderView(R.layout.nav_header_main);
返回null)
它似乎没有在这一点上初始化或什么
当我从onNavigationItemSelected(MenuItem item)
调用相同的方法时一切正常,所以我认为问题是我在初始化之前调用它了吗?
有什么想法吗?
答案 0 :(得分:1)
for some reason changing
View headerView = navigationView.getHeaderView(R.layout.nav_header_main);
to
View headerView = navigationView.getHeaderView(0);
did the trick