java - Android Lint 提示 ActionBar 可能出现 NullPointerException

标签 java android

我的主要 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/

相关文章:

java - 这些数字从何而来?

android - 软键盘进来后,如何保持部分组件固定?

android - 将字体大小添加到android中的NavigationView项目

java - 使用 Neo4j Partial=true 和 jpa transient 生成 querydsl Q* 类

java - 使用java libsvm的文本分类——模型、参数选择

android - 形状的渲染顺序

android - Firebase 跟踪显示错误的中位时间延迟?

java - 使用 LocalDate 从 Firestore 查询两个日期之间的数据

java - 如何在 Eclipse 中的 JUNIT 中执行单个测试类/方法?

java - 通过 JDBC River 自动更新 Elastic Search 中的索引