简体   繁体   English

无法访问nav_header_main布局视图

[英]cannot access nav_header_main layout views

I can not access the views present inside nav_header_main layout 我无法访问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);

when i am using headerinflater it works but adds lots of header 当我使用headerinflater它工作,但添加了很多标题

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);

Try This Hope it will help you 试试这个希望它会帮助你

Because you are doing wrong way Change this code 因为你做错了方法改变这段代码

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);

to this 对此

 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);

用于访问NavigationView Header Childs:

TextView lblUserName = (TextView)navigationView.getHeaderView(0).findViewById(R.id.lblUserName);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM