出错信息 Attempt to invoke virtual method ‘void android.widget.TextView.setText(java.lang.CharSequence)’ on a null object reference
原来的代码:
NavigationView navView = (NavigationView)findViewById(R.id.nav_view);
TextView mail = (TextView)headerLayout.findViewById(R.id.now_mail);
mail.setText(str);
出错原因:TextView控件在NavigationView的headerLayout中,而不在Main_layout中,因此要先找到headerLayout
修改代码如下:
NavigationView navView = (NavigationView)findViewById(R.id.nav_view);
View headerLayout=navView.getHeaderView(0); //添加
TextView mail = (TextView)headerLayout.findViewById(R.id.now_mail); //修改
mail.setText(str);
问题解决。