2016-04-03 6 views
0

Was könnte der Grund sein, dass ich HeaderView von NavigationView nicht erreichen kann?
ich mit Schublade Vorlage Android Studio Projekt verwende ich in MainActivity extends FragmentActivity in onCreate Methode Navigation Header (nav_header_main)
In onCreate aktualisieren möchten nenne ich die folgende Methode:Kann Schubfach HeaderView nicht erreichen

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 alle benötigten zu haben scheint Werte, aber HeaderView ist null (View headerView = navigationView.getHeaderView(R.layout.nav_header_main); gibt Null zurück)
es scheint, dass es an diesem Punkt oder etwas nicht initialisiert wird.
Wenn ich die gleiche Methode von onNavigationItemSelected(MenuItem item) aufrufen, ist alles in Ordnung, also denke ich, dass das Problem ist, dass ich es vor der Initialisierung aufrufen?
irgendwelche Gedanken dazu?

Antwort

1

aus irgendeinem Grund ändert

View headerView = navigationView.getHeaderView(R.layout.nav_header_main); 

zu

View headerView = navigationView.getHeaderView(0); 

der Trick