getSupportActionBar()NullPointerException

Dan*_*iel 2 java android nullpointerexception android-actionbar android-toolbar

onCreate()活动方法中,我有以下代码ToolBar:

toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我的IDE温暖我,getSupportActionBar().setDisplayHomeAsUpEnabled(true);可能会产生NullPointerException.

我的问题是我应该忽略它,我怎么能解决它?

Moh*_*uag 5

IDE会警告您有潜力,NullPointerException因为很多情况下应用程序可能会抛出一个.对于示例,您可以为您的整体使用NoActionBar主题Application(或仅针对相关人员activity),但您仍尝试使用getActionBar()(或getSupportActionBar())检索对操作栏的引用.

只需忽略警告,但请记住上面的注释.

更新:

您可以通过明确检查可为空性来消除警告:

toolbar = (Toolbar) findViewById(R.id.tool_bar);
if (toolbar != null) {
    // you can safely invoke methods on the Toolbar
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
} else {
    // Toolbar is null, handle it
}
Run Code Online (Sandbox Code Playgroud)