AJW AJW - 2 years ago 1180
Android Question

How to fix getActionBar method may produce java.lang.NullPointerException

I am using a toolbar as my actionbar in an activity. I am trying to add the method "getActionBar().setDisplayHomeAsUpEnabled(true);" to the activity.java file for Up navigation for older devices.

The method produces the following error message in Android Studio:

"Method invocation may produce java.lang.NullPointerException"

The Up navigation on the toolbar works fine on newer devices...now I'm trying to figure out how to make sure it will work for older devices.
Please advise.

from build .gradle:

dependencies {
compile "com.android.support:appcompat-v7:22.1.0"

from manifest:


from styles.xml

<style name="Theme.AppCompat.NoActionBar.FullScreen" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>

from activity.java

public class CardViewActivity extends AppCompatActivity {

protected void onCreate(Bundle savedInstanceState) {

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

if (toolbar != null) {
// Up navigation to the parent activity for 4.0 and earlier
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
public void onClick(View v) {


Answer Source

Actually Android Studio isn't showing you an "error message", it's just a warning.

Some answers propose the use of an assertion, Dalvik runtime has assertion turned off by default, so you have to actually turn it on for it to actually do something. In this case (assertion is turned off), what you're essentially doing is just tricking Android Studio to not show you the warning. Also, I prefer not to use "assert" in production code.

In my opinion, what you should do is very simple.

if(getActionBar() != null){

Update: In case you're using the support library version of the Action Bar, you should replace getActionBar() with getSupportActionBar().

if(getSupportActionBar() != null){
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download