user316117 user316117 - 5 months ago 52
Android Question

getActionBar returns null

Calling

getActionBar
returns
null
. This has been frequently reported so I've made sure to include the solutions others have used: My
minSdkVersion=11
, I do have a titlebar, and I'm calling
getActionBar
after
setContentView
. Also, my activity is not a child activity.

setContentView(R.layout.main);

// experiment with the ActionBar
ActionBar actionBar = getActionBar();
actionBar.hide();


Device is a Samsung Galaxy Tab 10.1 running Android 3.2

Thanks in advance for any ideas or suggestions!

Answer

It seems you need to request having an Actionbar (!= titlebar) either via a Theme or via below code.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // The Action Bar is a window feature. The feature must be requested
    // before setting a content view. Normally this is set automatically
    // by your Activity's theme in your manifest. The provided system
    // theme Theme.WithActionBar enables this for you. Use it as you would
    // use Theme.NoTitleBar. You can add an Action Bar to your own themes
    // by adding the element <item name="android:windowActionBar">true</item>
    // to your style definition.
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

    setContentView(R.layout.main);

    // experiment with the ActionBar 
    ActionBar actionBar = getActionBar();
    actionBar.hide();
}

Code from [here]

Comments