Java Android操作栏不可见
我已经更新了API21、工具和附加工具,一些项目中的ActionBar已经看不见了。我执行了以下代码,但应用程序崩溃,显示NullPointerExceptionJava 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.
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更准确:)