java - java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void androidx.appcompat.app.ActionBar.hide()”
问题描述
嗨,我做了一个简单的订餐应用程序,但是当我启动它时,它崩溃了,Logcat 中抛出的错误是这样的。请帮帮我...
05-18 17:26:41.104 18166-18166/com.example.sample E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.sample, PID: 18166 java.lang.RuntimeException: Unable to start activity > ComponentInfo{com.example.sample/com.example.sample.MainActivity}: java.lang.NullPointerException: > Attempt to invoke virtual method 'void androidx.appcompat.app.ActionBar.hide()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2487) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2547) at android.app.ActivityThread.access$1100(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1398) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5603) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void > > > androidx.appcompat.app.ActionBar.hide()' on a null object reference at com.example.sample.MainActivity.onCreate(MainActivity.java:39) at android.app.Activity.performCreate(Activity.java:6355) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2440) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2547) at android.app.ActivityThread.access$1100(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1398) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5603) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
完整代码 - Github。
希望您拥有所有必需的文件,如果没有,请问我。请帮忙!!!!
解决方案
在您MainActivity
使用 getSupportActionBar().hide();
但在您的style.xml
展示中,您没有设置任何操作栏。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
在您的活动中添加工具栏或添加DarkActionBar
而不是NoActionBar
推荐阅读
- c - 计算指数时消除偏差的方法?
- openssl - Openssl CVE-2012-3450 漏洞检测
- mongodb - 需要创建一个 mongoose 事务包装器,它将会话作为参数传递给实际执行查询操作以创建或更新的函数
- regex - 嵌套注释的正则表达式
- android - 用户变体中的Android 11 logcat -b分支内核NULL
- unity3d - 收到警告试图在没有权限的情况下为对象发送命令
- flutter - 在列表视图后禁用 FloatingActionButton 并显示超出限制的消息
- c# - 仅通过将类型从 int 更改为 decimal 才能在数学结果中完全相同的值有何不同
- javascript - 如何在 Nuxt js 中全局调用自定义 javascript 函数
- javascript - 访问和刷新令牌的 Spotify 问题