2014-12-18 42 views
1

我在創建自定義ActionBar時在setBackgroundDrawable上得到NullPointerException。 保護無效onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setBackgroundDrawable拋出NullPointerException創建Android自定義ActionBar

setContentView(R.layout.activity_main); 

    getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 
    ActionBar actionBar = getActionBar(); 
    Bitmap b = BitmapFactory.decodeResource(getResources(), 
      R.drawable.ic_launcher); 

    actionBar.setBackgroundDrawable(new BitmapDrawable(getResources(), b)); 
    actionBar.setCustomView(R.layout.actionbar_view); 

logcat的結果如下:

Caused by: java.lang.NullPointerException 
     at actionbarcustomview.practice.nkd.actionbarcustomviews.MainActivity.onCreate(MainActivity.java:30) 
     at android.app.Activity.performCreate(Activity.java:4465) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931) 

線30

actionBar.setBackgroundDrawable(new BitmapDrawable(getResources(), b)); 

我使用的Android Studio和CONFIGS是

defaultConfig { 
    applicationId "actionbarcustomview.practice.nkd.actionbarcustomviews" 
    minSdkVersion 17 
    targetSdkVersion 21 
    versionCode 1 
    versionName "1.0" 
} 

請幫我解決這個問題。

+0

爲什麼不只是Log.d的actionBar的值? – pskink

回答

相關問題