Reputation: 1871
There is a line in my code, that marked as yellow:
getSupportActionBar().setDisplayShowHomeEnabled(true);
After installing appcompat-v7:22.1 it shows a hint:
"Method invocation may produce java.lang.nullpointerexception".
What should be used instead of getSupportActionBar()
?
Upvotes: 4
Views: 6480
Reputation: 13
Are using NoActionBar
in styles? Verify your style.xml
or you theme, if("NoActionBar") => nullpointer =D
Upvotes: 1
Reputation: 1871
I found another way, using AppCompatDelegate:
getDelegate().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Upvotes: 2
Reputation: 38243
If you're extending a Theme.AppCompat
which has an action bar or have called setSupportActionBar(...)
yourself, calling getSupportActionBar()
is safe.
To get around the warning do a null check or
assert getSupportActionBar() != null;
which will throw an exception if the expression is not true. Both have their uses.
Upvotes: 1
Reputation: 3074
getSupportActionBar().setDisplayShowHomeEnabled(true);
Should say
if (getSupportActionBar() != null)
{
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
getSupportActionBar() can return null so you the hint is telling you about this.
Upvotes: 13