getActionBar returns null
It seems there are several conditions which need to be met in order for this to work. The one which stumped me for a long time was this:
Make sure your activity extends Activity (NOT ActionBarActivity).
public class MagicActivity extends Activity
Make sure your app manifest has something like
<application
...
android:theme="@android:style/Theme.Holo" >
and make sure your activity layout has
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
....
android:theme="@android:style/Theme.WithActionBar" >
-Mark
I seemed to solve all my errors by switching getActionBar() with getSupportActionBar(). I had tried different themes, adding getWindow().requestFeature(Window.FEATURE_ACTION_BAR);, made sure the setContentView(view) was first and all the other things seen before.
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]