ActionBar抛出NullPointerException

Its*_*ank 4 android nullpointerexception android-emulator android-actionbar

我无法弄清楚这个.我正在定制我的ActionBar(是的,我的应用程序是3.0+)代码在Device上运行正常(使用Motorola xoom,如果它很重要).但是当我在模拟器上运行它时会抛出NPE.这是我的ActionBar代码

/**
 * Customizes Action bar sets background color and assigns a layout to it
 */
private void customActionBar() {
    Log.v(TAG, "customizing ActionBar Entry");
    ActionBar actionBar = getActionBar();
    Log.v(TAG, "customizing ActionBar : "+actionBar.toString());
            //This is where i get NPE
    actionBar.setBackgroundDrawable(new ColorDrawable(Color
            .parseColor(Constants.COLOR)));
    Log.v(TAG, "customizing ActionBar -Background color : ");

    LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.custom_action, null);
    // lay.setLayoutParams(new ActionBar.LayoutParams(
    // android.app.ActionBar.LayoutParams.MATCH_PARENT,
    // android.app.ActionBar.LayoutParams.MATCH_PARENT));
    actionBar.setCustomView(view);
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    Log.v(TAG, "customizing ActionBar Exit");
}
Run Code Online (Sandbox Code Playgroud)

编辑:logcat

V/>>> FullPdfViewerActivity(438): customizing ActionBar Entry
D/AndroidRuntime(438): Shutting down VM
W/dalvikvm(438): threadid=1: thread exiting with uncaught exception (group=0x40014760)
E/AndroidRuntime(438): FATAL EXCEPTION: main
E/AndroidRuntime(438): java.lang.RuntimeException: Unable to start activity                                 
ComponentInfo{com.test.android.tester/com.test.android.tester.core.AwesomePagerActivity}:          java.lang.NullPointerException
E/AndroidRuntime(438):  at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
E/AndroidRuntime(438):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
E/AndroidRuntime(438):  at android.app.ActivityThread.access$1500(ActivityThread.java:123)
E/AndroidRuntime(438):  at    android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
E/AndroidRuntime(438):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(438):  at android.os.Looper.loop(Looper.java:126)
E/AndroidRuntime(438):  at android.app.ActivityThread.main(ActivityThread.java:3997)
E/AndroidRuntime(438):  at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(438):  at java.lang.reflect.Method.invoke(Method.java:491)
E/AndroidRuntime(438):  at   com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
E/AndroidRuntime(438):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
E/AndroidRuntime(438):  at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(438): Caused by: java.lang.NullPointerException
E/AndroidRuntime(438):  at com.test.android.tester.core.AwesomePagerActivity.customActionBar(AwesomePagerActivity.java:227)
E/AndroidRuntime(438):  at com.test.android.tester.core.AwesomePagerActivity.onCreate(AwesomePagerActivity.java:187)
E/AndroidRuntime(438):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
E/AndroidRuntime(438):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
E/AndroidRuntime(438):  ... 11 more
Run Code Online (Sandbox Code Playgroud)

我从我的onCreate()调用它.我担心它是否适用于其他设备?

TIA

Ily*_*kin 10

我认为,getActionBar()返回null.我getActionBar()setContentView()活动之前调用时看到了这种行为,但仅在Android 3.0和3.1上,在Android 3.2上顺序无关紧要.尝试setContentView在自定义操作栏之前调用