无法访问 nav_header_main 布局视图
cannot access nav_header_main layout views
我无法访问 nav_header_main 布局中的视图
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
//setting profile picture in nav
View emailview=navigationView.getHeaderView(2);
View picview=navigationView.getHeaderView(0);
View nameview=navigationView.getHeaderView(1);
email_textview=(TextView)emailview.findViewById(R.id.emailtextView);
profile_image=(ImageView)picview.findViewById(R.id.profile_imageView);
username_textview=(TextView)nameview.findViewById(R.id.appbarusernametextview);
Intent intent =new Intent(this,EmailPasswordActivity.class);
email=this.getIntent().getExtras().getString("email");
email_textview.setText(email);
当我使用 headerinflater 时它可以工作,但增加了很多 header
因为你做错了 更改此代码
View emailview=navigationView.getHeaderView(2);
View picview=navigationView.getHeaderView(0);
View nameview=navigationView.getHeaderView(1);
email_textview=(TextView)emailview.findViewById(R.id.emailtextView);
profile_image=(ImageView)picview.findViewById(R.id.profile_imageView);
username_textview=(TextView)nameview.findViewById(R.id.appbarusernametextview);
至此
email_textview=(TextView) navigationView.getHeaderView(0).findViewById(R.id.emailtextView);
profile_image=(ImageView)navigationView.getHeaderView(0).findViewById(R.id.profile_imageView);
username_textview=(TextView)navigationView.getHeaderView(0).findViewById(R.id.appbarusernametextview);
View headerView = navigationView.getHeaderView(0)
email_textview = (TextView)headerView.findViewById(R.id.emailtextView);
profile_image = (ImageView)headerView(R.id.profile_imageView);
username_textview = (TextView)headerView(R.id.appbarusernametextview);
试试这个希望对你有帮助
访问 NavigationView Header Childs:
TextView lblUserName = (TextView)navigationView.getHeaderView(0).findViewById(R.id.lblUserName);
我无法访问 nav_header_main 布局中的视图
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
//setting profile picture in nav
View emailview=navigationView.getHeaderView(2);
View picview=navigationView.getHeaderView(0);
View nameview=navigationView.getHeaderView(1);
email_textview=(TextView)emailview.findViewById(R.id.emailtextView);
profile_image=(ImageView)picview.findViewById(R.id.profile_imageView);
username_textview=(TextView)nameview.findViewById(R.id.appbarusernametextview);
Intent intent =new Intent(this,EmailPasswordActivity.class);
email=this.getIntent().getExtras().getString("email");
email_textview.setText(email);
当我使用 headerinflater 时它可以工作,但增加了很多 header
因为你做错了 更改此代码
View emailview=navigationView.getHeaderView(2);
View picview=navigationView.getHeaderView(0);
View nameview=navigationView.getHeaderView(1);
email_textview=(TextView)emailview.findViewById(R.id.emailtextView);
profile_image=(ImageView)picview.findViewById(R.id.profile_imageView);
username_textview=(TextView)nameview.findViewById(R.id.appbarusernametextview);
至此
email_textview=(TextView) navigationView.getHeaderView(0).findViewById(R.id.emailtextView);
profile_image=(ImageView)navigationView.getHeaderView(0).findViewById(R.id.profile_imageView);
username_textview=(TextView)navigationView.getHeaderView(0).findViewById(R.id.appbarusernametextview);
View headerView = navigationView.getHeaderView(0)
email_textview = (TextView)headerView.findViewById(R.id.emailtextView);
profile_image = (ImageView)headerView(R.id.profile_imageView);
username_textview = (TextView)headerView(R.id.appbarusernametextview);
试试这个希望对你有帮助
访问 NavigationView Header Childs:
TextView lblUserName = (TextView)navigationView.getHeaderView(0).findViewById(R.id.lblUserName);