Java Android操作栏不可见

Java Android操作栏不可见,java,android,android-layout,android-actionbar,android-view,Java,Android,Android Layout,Android Actionbar,Android View,我已经更新了API21、工具和附加工具,一些项目中的ActionBar已经看不见了。我执行了以下代码,但应用程序崩溃,显示NullPointerException ActionBar actionBar = getActionBar(); actionBar.show(); 对数输出 02-23 18:03:36.269:E/AndroidRuntime(3327):致命异常:主 02-23 18:03:36.269:E/AndroidRuntime(3327):进程:com.example.

我已经更新了API21、工具和附加工具,一些项目中的ActionBar已经看不见了。我执行了以下代码,但应用程序崩溃,显示NullPointerException

ActionBar actionBar = getActionBar();
actionBar.show();
对数输出

02-23 18:03:36.269:E/AndroidRuntime(3327):致命异常:主 02-23 18:03:36.269:E/AndroidRuntime(3327):进程:com.example.twaapp,PID:3327 02-23 18:03:36.269:E/AndroidRuntime(3327):java.lang.RuntimeException:无法启动活动组件信息{com.example.twaapp/com.example.twaapp.MainActivity}:java.lang.NullPointerException 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198) 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257) 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.app.ActivityThread.access$800(ActivityThread.java:139) 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.os.Handler.dispatchMessage(Handler.java:102)上 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.os.Looper.loop(Looper.java:136)上 02-23 18:03:36.269:E/AndroidRuntime(3327):位于android.app.ActivityThread.main(ActivityThread.java:5086) 02-23 18:03:36.269:E/AndroidRuntime(3327):位于java.lang.reflect.Method.Invokenactive(本机方法) 02-23 18:03:36.269:E/AndroidRuntime(3327):位于java.lang.reflect.Method.invoke(Method.java:515) 02-23 18:03:36.269:E/AndroidRuntime(3327):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 02-23 18:03:36.269:E/AndroidRuntime(3327):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 02-23 18:03:36.269:E/AndroidRuntime(3327):在dalvik.system.NativeStart.main(本机方法) 02-23 18:03:36.269:E/AndroidRuntime(3327):由以下原因引起:java.lang.NullPointerException 02-23 18:03:36.269:E/AndroidRuntime(3327):位于com.example.twaapp.MainActivity.onCreate(MainActivity.java:82) 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.app.Activity.performCreate(Activity.java:5248)上 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)上 02-23 18:03:36.269:E/AndroidRuntime(3327):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162) 02-23 18:03:36.269:E/AndroidRuntime(3327):。。。还有11个


如何使AB可见?

确保您的活动扩展了
ActionBarActivity
。这样:
MainActivity扩展了ActionBarActivity
。我发现,当我删除这个并扩展其他内容时,操作栏就会消失。还要检查xml的主题并对其进行更改

看看这个:


如果您使用的是Activity类,则您的最小SDK应大于tahn 13以显示操作栏。否则,请使用Android支持库中的ActionbarActivity使您的应用程序向后兼容,并使用getSupportActionBar()获取操作栏实例

您的
Activity
类应扩展如下:

public class MainActivity extends ActionBarActivity{

    ....

}
而不是

public class MainActivity extends FragmentActivity{

    ....

}
另外,你需要打电话

ActionBar = getSupportActionBar();
而不是

ActionBar = getActionBar();

试试这个。这将起作用。

由于
ActionBarActivity
已被弃用,因此应使用
AppCompatActivity
。作为-

public class LoginActivity extends AppCompatActivity{

}

你也可以粘贴logcat吗?检查主题以获取app@vs.thaakur我尝试更改主题,但没有效果。您是否使用了
android.support.v7.widget.Toolbar
?API 21没有默认的操作栏使用getSupportActionBar()代替getActionBar()AB在我使用FragmentActivity扩展MyActivity时可见,最近更新后,我失去了AB可视性尝试更改android Xml中的主题很高兴能帮到你:)谢谢,通过ActionBarActivity扩展后可见:)你是对的,通过ActionBarActivity扩展后可见:)当然也要感谢,对于我的问题,Ist更准确:)