Menu.findItem()的问题

时间:2015-10-17 03:39:47

标签: java android menuitem

我试图隐藏一个操作栏按钮,我遇到了“Menu.findItem()”行的问题,它提出了“非静态方法'findItem(int)'无法引用静态上下文“

任何人都可以帮我解决这个问题吗?

以下是相关代码:

        if (ContactName!=null) {
        setTitle(ContactName);
        android.support.v7.app.ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayShowTitleEnabled(true);
        actionBar.setSubtitle(HeadNum);
        MenuItem item = Menu.findItem(R.id.action_add);
        item.setVisible(false);
        this.invalidateOptionsMenu();
    }else{
        setTitle(HeadNum);
    }
}

2 个答案:

答案 0 :(得分:0)

那是因为Menu.findItem()不是静态方法。您需要在findItem()对象上致电Menu

答案 1 :(得分:0)

你不能打电话给那些不存在的东西。由于您尚未创建Menu的对象,因此non-static方法Menu.findItem()尚未存在。 static方法(根据定义)始终存在

static方法属于该类; non-static方法属于该类的实例。