【问题标题】:Null pointer exception when setting title of toolbar widget设置工具栏小部件标题时出现空指针异常
【发布时间】:2015-08-02 21:04:46
【问题描述】:

我正在尝试为我的工具栏小部件设置标题,但这样做之后,我的代码的最后一行会以黄色突出显示,并且我收到空指针异常警告。可以做些什么来解决这个问题?

方法调用'getSupportActionBar().setTitle(Html.fromHtml("" + getResources().getString(R.string.hello_world) + ""));'可能会产生'java.lang.NullPointerException'

   Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
   setSupportActionBar(mToolbar);
   getSupportActionBar().setTitle(Html.fromHtml("<font color='#FFFFFF'>" + getResources().getString(R.string.hello_world) + "</font>"));

【问题讨论】:

    标签: java android android-activity android-toolbar


    【解决方案1】:

    只有在不设置操作栏的情况下才会抛出空指针异常。在你的情况下,这只是一个警告,不应该有错误。但是,如果您想摆脱警告,请尝试用 'if' 语句包装它:

    if (getSupportActionBar() != null) {
        Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(mToolbar);
        getSupportActionBar().setTitle(Html.fromHtml("<font color='#FFFFFF'>" + getResources().getString(R.string.hello_world) + "</font>"));
    }
    

    【讨论】:

    • 这并不能解决问题,因为代码会返回“null”,逻辑无法进入!=null,这是显而易见的。
    • 由于工具栏设置在前一行,因此代码无法返回null,除非构造函数以某种方式返回null,这是不可能的。 if 只是隐藏了警告。
    猜你喜欢
    • 2013-09-02
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多