无法解析符号Theme,ThemeOverlay

23
我更新了我的Android Studio到最新版本3.0.1。自那以后,以下代码行中的Theme和ThemeOverlay出现“无法解析符号”的错误。 应用程序可以正常运行,但它们被标记为红色。

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"></style>
 <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

已使用最新版本更新了build.gradle文件

 dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }

3
您需要检查这个链接:https://dev59.com/YFkR5IYBdhLWcg3w0AKy。 - InsaneCat
3
我也在3.0版本中遇到了同样的问题,但是应用程序仍然可以正常工作。 - Saran Sankaran
您可以在 https://developers.google.com/issue-tracker/guides/create-issue-ui 上提出问题。这可能是其背后的原因。 - IntelliJ Amiya
任何解决方案都无法解决我遇到的同样问题。 - Vishal Thakkar
类似的问题在这里(AS 3.1.3):在清单文件中,这行代码有一个错误(红色):android:theme="@style/AppTheme.ActionBar">,并且在styles.xml文件中,单词 ThemeThemeOverlay 是红色的,并附带错误信息 AppTheme.ActionBar 没有找到。 - Robert Lewis
@RobertLewis 你试过下面 "Nick Karamoff" 的解决方案了吗?听起来有些奇怪,但对我也起作用了(AS 3.1.3)。 - sunadorer
7个回答

29

1)从“文件”菜单中关闭项目。

2)再次打开该项目作为已存在的Android Studio项目。

输入图片描述

这样修复了我的问题。


哇,这确实是个技巧...我也解决了我的问题...但这与同步Gradle有什么不同仍然值得怀疑...!谢谢@V.March - Sreehari

15
  1. 在 app/build.gradle 中删除负责 appcompat 包的行(类似于 implementation 'com.android.support:appcompat-v7:27.1.1'
  2. 执行 Gradle 同步。它会中断并显示很多错误
  3. 将原始行恢复回来
  4. 再次执行 Gradle 同步

这将神奇地解决在 3.0.1 中出现的无缘无故的问题。


1
这应该是被接受的答案。奇怪的魔法解决方法,但真的很有帮助。谢谢Nick!我已经点赞并在https://issuetracker.google.com/issues/67790757上发表了评论,希望这个问题能够尽快得到解决。 - sunadorer
这对我也起作用了。最初它并没有工作,因为其他依赖项引入了appcompat库,所以我添加了"{ exclude module: 'appcompat-v7' }"到所有Android依赖项中,然后它就正常工作了。 - TrueCoke

4

当您更新版本时,项目的索引出现了问题。

要修复这个问题,请按照以下步骤:

File -> Invalidate Caches/Restart

重新打开并重新索引整个项目,错误应该就会消失。

这对我有用,谢谢! - CaptainCrunch

2

找到最简单的方法

  • 关闭项目(文件> 关闭项目)
  • 重新导入/打开项目(不要从最近的项目中打开

错误应该已经消失了。

如果(那没有起作用)

  • 打开build.gradle,删除appcompact-v7依赖项并进行同步。
  • 再次添加该依赖项并同步。

错误已消失!


1
我曾经遇到过同样的错误,所以我将其与另一个没有显示错误的项目的gradle文件进行了比较。 在您的build.gradle(Module:app)中的dependencies下,添加以下行:
implementation 'com.android.support:preference-v7:28.0.0'

0
在我的情况下,我已经在styles.xml文件中定义了该值,但它仍然提示我出现了这样的问题:

the value has been defined

但我仍然收到以下错误:

enter image description here

我通过以下方式更改值来解决这个问题:

enter image description here

希望这对你也有用。谢谢!


0

我通过从文件菜单中选择“无效缓存/重新启动”解决了这个问题。在下面没有看到相同的答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接