我正在浏览一段代码(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,它以红色显示此方法调用,并显示消息“无法解析方法invalidateOptionsMenu()”但总体而言,解析和编译Activity.java时没有错误。
不仅是这种方法,还有其他方法尚未解决。我查看了mActionBar的类型,它是ActionBar。我去了ActionBar.invalidateOptionsMenu()
并且方法存在。
首先,为什么即使存在未解析的方法调用,编译单元也能够被解析然后编译。 其次,即使该方法存在(并且不应该显示未解决),IDE的这种行为应该如何解释为?
答案 0 :(得分:0)
在IntelliJ IDEA中,有一个选项可以使缓存无效并重新启动:
档案>无效缓存/重新启动>无效并重新启动
如果你正在使用maven,你也应该重新导入你的依赖:
打开“Maven项目”标签/窗口>重新进口所有Maven项目