getActionBar() returns Null (AppCompat-v7 21)

user3184899 picture user3184899 · Oct 18, 2014 · Viewed 38.7k times · Source

My app is crashing the minute I run it after I changed my AppCompat-v7 to 21.0.0 and Compiled with no problem.

It gives me the error:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setIcon(int)' on a null object reference

on this line:

getActionBar().setIcon(R.drawable.ic_action_bar);

It works with AppCompat-v7 20.0.0, but not with 21.0.0.

Answer

CommonsWare picture CommonsWare · Oct 18, 2014

You need to call getSupportActionBar() on an ActionBarActivity. Do not call getActionBar() -- that is not available on older devices, and for the new r21 edition of appcompat-v7, I would expect it to return null all the time, as the new ActionBarActivity disables and replaces the system action bar.