当前位置: 首页 > 知识库问答 >
问题:

如何修复getActionBar方法可能产生java.lang.NullPointerException

张溪叠
2023-03-14
dependencies {
   compile "com.android.support:appcompat-v7:22.1.0"
}
android:theme="@style/Theme.AppCompat.NoActionBar.FullScreen" 

来自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>

来自activity.java

public class CardViewActivity extends AppCompatActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.cardviewinput);

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

    if (toolbar != null) {
        // Up navigation to the parent activity for 4.0 and earlier
        getActionBar().setDisplayHomeAsUpEnabled(true);
        toolbar.setNavigationIcon(R.drawable.ic_action_previous_item);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
    }

}

共有1个答案

景光赫
2023-03-14

实际上,Android Studio并没有向你显示“错误消息”,它只是一个警告。

有些答案建议使用断言,Dalvik运行时默认关闭了断言,因此您必须实际打开它才能实际执行某些操作。在这种情况下(断言被关闭),您所做的基本上只是欺骗Android Studio不向您显示警告。而且,我更喜欢在生产代码中不使用“assert”。

在我看来,你应该做的很简单。

if(getActionBar() != null){
   getActionBar().setDisplayHomeAsUpEnabled(true);
}
if(getSupportActionBar() != null){
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
 类似资料:
  • 我有个密码: 我收到一个警告 我怎么才能修好它?

  • 我正在使用改型2从我的API获得响应,并将其值存储在我的常量中,如下所示 它在下面这三个方面给了我警告 我很困惑,无法解决此警告。让我知道如果有人能帮我走出来。

  • 我有很多这样的电话: AndroidStudio告诉我,他们可能会获得: -如果第二个参数为null,方法返回null-如果第二个参数为null,否则返回null -一个典型的方法,如果传递给它true将引发异常 检查可以配置为使用自定义注释(默认情况下将使用来自annotations.jar的注释) 幸运的是,everithing可以工作,但我可以对这段代码进行改进吗?

  • 我正在检查和。尽管如此,我还是在Android studio的上收到了警告。 如何避免这种警告? 我使用的是改型:2.3.0和GSON:2.8.1。我已经尝试了这个问题的解决方案(refitfit方法调用可能会产生'java.lang.NullPointerException')。但它不起作用

  • 当我试图上传一个大小约为600MB的大csv文件在我的项目中托管在数字海洋,它试图上传,但显示502坏网关错误(Nginx)。 该应用程序是一个数据转换应用程序。 这在本地工作时很好。 节目 节目 nginx.conf 在转换过程发生时,我还运行了javascript加载器。我怎么才能修好这个?

  • 我想用python绘制一个非常简单的直方图。这是我的代码: 这就是结果 我怎样才能把这些条放在整数的地方呢?为什么我的图表也显示浮点数?