NullPointerException:appcompat.app.ActionBar.setTitle(java.lang.CharSequence)‘ on a null object refe

强颜欢笑 提交于 2020-11-09 11:25:13

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘void androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence)’ on a null object reference

今天在新建项目时候突发奇想新建了个默认的安卓自带 Fragment+tab的初始布局页面

这个导航拉线可以控制的fragment
这个是导航拉线可以控制的fragment

** 默认的架构是Viewmodel + liveData +navigation这一套组成,看得出来谷歌在尽量让我们开发者让Jetpack上面走:**

在这里插入图片描述

java

在这里插入图片描述

xml布局

在这里插入图片描述

navigation导航部分

这一切运行都没问题,可是在我改动了个标题状态栏的Theme时候,就开始出问题了:报错: Caused by:
java.lang.NullPointerException: Attempt to invoke virtual method ‘void
androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence)’ on
a null object reference


报错代码图:
在这里插入图片描述

结果找了很久才发现是我改动了标题栏导致的:
在这里插入图片描述

我改成了没有标题栏状态显示,可是导航栏需要用到ActionBar所以导致的空指针异常:

在这里插入图片描述

这部分 navigation导航要调用

解决办法:把导航栏改成默认有状态栏显示的主题就好了:

在这里插入图片描述

显示的状态栏主题

最终显示出来效果如下:
结果图

希望能对你有所帮助,谢谢(点个赞吧,祝永远没bug)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!