我的主要 Activity 如下所示:
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().show();
}
}
我使用以下主题:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
操作栏工作正常且看起来不错,但 Android Lint 会说以下内容:
第 X 行处的方法调用“((AppCompatActivity) getActivity()).getSupportActionBar().show()”可能会产生“java.lang.NullPointerException”
为什么这么说呢?这只是 Android Lint 中的一个错误还是实际上可能(有时)获得空指针异常?
最佳答案
由于您使用 windowActionBar 作为 false 样式,android studio 假设您的应用程序没有操作栏。这就是您收到此警告的原因。由于您已经将工具栏设置为操作栏,因此不会出现任何问题。如果需要,您可以将其包含在 try catch block 中。
关于java - Android Lint 提示 ActionBar 可能出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32423368/