Android ActionBar不可见

ABI*_*ABI 3 java android android-layout android-view android-actionbar

我已经更新了API 21,工具和附加功能,一些项目中的ActionBar变得不可见.我在下面的代码中做了这个,但app崩溃显示NullPointerException.

ActionBar actionBar = getActionBar();
actionBar.show();
Run Code Online (Sandbox Code Playgroud)

Logcat输出

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):在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个

如何让AB可见?

Y.S*_*Y.S 5

你的Activity课应该像这样扩展:

public class MainActivity extends ActionBarActivity{

    ....

}
Run Code Online (Sandbox Code Playgroud)

代替

public class MainActivity extends FragmentActivity{

    ....

}
Run Code Online (Sandbox Code Playgroud)

此外,你需要打电话

ActionBar = getSupportActionBar();
Run Code Online (Sandbox Code Playgroud)

代替

ActionBar = getActionBar();
Run Code Online (Sandbox Code Playgroud)

试试这个.这会奏效.