前言:今天写程序时遇到这个问题,试了一些方法,终于反应过来了。一首凉凉送给自己。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.aigsharedome/com.example.aigsharedome.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
这里我获取nav_header_main上的Textview
TextView这个对象是一个空对象,查找了相关资料后才找到解决方案,应该获取相应控件的上层父控件,从上到下逐级获取,若不按照这种方法,直接findViewById的话,是获取不到对应控件id的。
navigationView = findViewById(R.id.nav_view);
t_name = navigationView.getHeaderView(0).findViewById(R.id.t_name);
t_says = navigationView.getHeaderView(0).findViewById(R.id.t_says);
t_username = navigationView.getHeaderView(0).findViewById(R.id.username);