IDE 在 Java 编译单元中不显示任何错误,即使方法未解析也是如此



我正在浏览一段代码(android.app.Activity.java),我发现了一个方法调用,

   public void invalidateOptionsMenu(){
    if (mWindow.hasFeature(Window.FEATURE_OPTIONS_PANEL) &&
                (mActionBar == null || !mActionBar.invalidateOptionsMenu())) {
            mWindow.invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL);
        }
    }

现在,这不是一个专门与Android有关的问题,而是一个与Java和IDE有关的问题。我正在使用Android Studio,它以红色显示此方法调用,并显示消息"无法解析方法无效选项菜单()",但总体而言,解析和编译Activity.java时没有错误。

不仅这种方法,还有其他未解决的方法。我检查了mActionBar的类型,它是ActionBar。我去了ActionBar.invalidateOptionsMenu()方法存在。

首先,为什么编译单元能够被解析然后编译,即使有未解析的方法调用。其次,即使该方法存在(并且不应显示未解析),IDE的这种行为应该如何解释为?

在IntelliJ IDEA中,有一个选项可以使缓存失效并重新启动:

文件>使缓存失效/重新启动>使缓存失效并重新启动

如果您使用的是 maven,则也应该重新导入依赖项:

打开"Maven项目"选项卡/窗口>重新导入所有Maven项目

相关内容

  • 没有找到相关文章

最新更新