首页 > 解决方案 > 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

希望您拥有所有必需的文件,如果没有,请问我。请帮忙!!!!

标签: javaxmlandroid-studio

解决方案


在您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


推荐阅读