[英]Android ActionBar not visible
I've updated the API 21, tools and extras up to date, the ActionBar in some projects has gone invisible. 我已经更新了API 21,工具和附加功能,一些项目中的ActionBar变得不可见。 I did this following code, but app crashes showing NullPointerException. 我在下面的代码中做了这个,但app崩溃显示NullPointerException。
ActionBar actionBar = getActionBar();
actionBar.show();
Logcat Output Logcat输出
02-23 18:03:36.269: E/AndroidRuntime(3327): FATAL EXCEPTION: main 02-23 18:03:36.269: E/AndroidRuntime(3327): Process: com.example.twaapp, PID: 3327 02-23 18:03:36.269: E/AndroidRuntime(3327): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.twaapp/com.example.twaapp.MainActivity}: java.lang.NullPointerException 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.app.ActivityThread.access$800(ActivityThread.java:139) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.os.Handler.dispatchMessage(Handler.java:102) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.os.Looper.loop(Looper.java:136) 02-23 18:03:36.269:E / AndroidRuntime(3327):FATAL EXCEPTION:main 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:无法启动活动ComponentInfo {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):at 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): at android.app.ActivityThread.main(ActivityThread.java:5086) 02-23 18:03:36.269: E/AndroidRuntime(3327): at java.lang.reflect.Method.invokeNative(Native Method) 02-23 18:03:36.269: E/AndroidRuntime(3327): at java.lang.reflect.Method.invoke(Method.java:515) 02-23 18:03:36.269: E/AndroidRuntime(3327): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 02-23 18:03:36.269: E/AndroidRuntime(3327): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 02-23 18:03:36.269: E/AndroidRuntime(3327): at dalvik.system.NativeStart.main(Native Method) 02-23 18:03:36.269: E/AndroidRuntime(3327): Caused by: java.lang.NullPointerException 02-23 18:03:36.269: E/AndroidRuntime(3327): at com.example.twaapp.MainActivity.onCreate(MainActivity.java:82) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.app.Activity.performCreate(Activity.java:5248) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.app.Instrumentatio 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):at java。 lang.reflect.Method.invokeNative(Native Method)02-23 18:03:36.269:E / AndroidRuntime(3327):at java.lang.reflect.Method.invoke(Method.java:515)02-23 18:03 :36.269:E / AndroidRuntime(3327):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785)02-23 18:03:36.269:E / AndroidRuntime(3327):at com。 android.internal.os.ZygoteInit.main(ZygoteInit.java:601)02-23 18:03:36.269:E / AndroidRuntime(3327):at dalvik.system.NativeStart.main(Native Method)02-23 18:03 :36.269:E / AndroidRuntime(3327):引起:java.lang.NullPointerException 02-23 18:03:36.269:E / AndroidRuntime(3327):at 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):at android .app.Instrumentatio n.callActivityOnCreate(Instrumentation.java:1110) 02-23 18:03:36.269: E/AndroidRuntime(3327): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162) 02-23 18:03:36.269: E/AndroidRuntime(3327): ... 11 more n.callActivityOnCreate(Instrumentation.java:1110)02-23 18:03:36.269:E / AndroidRuntime(3327):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)02-23 18:03:36.269: E / AndroidRuntime(3327):......还有11个
How to make AB visible? 如何让AB可见?
Your Activity
class should extend like this: 您的Activity
类应该像这样扩展:
public class MainActivity extends ActionBarActivity{
....
}
instead of 代替
public class MainActivity extends FragmentActivity{
....
}
Also, you need to call 此外,你需要打电话
ActionBar = getSupportActionBar();
instead of 代替
ActionBar = getActionBar();
Try this. 尝试这个。 This will work. 这会奏效。
Make sure that your activity extends the ActionBarActivity
. 确保您的活动扩展了ActionBarActivity
。 Like this: MainActivity extends ActionBarActivity
. 像这样: MainActivity extends ActionBarActivity
。 I found that when I remove this and extend something else that the action bar would disappear. 我发现当我删除它并扩展其他操作栏会消失的东西时。 Also check the theme of the xml and change it. 还要检查xml的主题并进行更改。
Check this out: 看一下这个:
can I use a compatible action bar AND a fragment in the same activity? 我可以在同一个活动中使用兼容的操作栏和片段吗?
如果您正在使用Activity类,那么您的最小SDK应该更大,以显示操作栏。否则在Android支持库中使用ActionbarActivity使您的应用向后兼容并使用getSupportActionBar()来获取操作栏实例
Since ActionBarActivity
is deprecated, AppCompatActivity
should be used. 由于不推荐使用ActionBarActivity
,因此应使用AppCompatActivity
。 As- 如-
public class LoginActivity extends AppCompatActivity{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.