Android Studio和android.support.v4.app.Fragment:无法解析符号

Ted*_*Ted 59 android android-fragments android-studio

我正在试用Android Studio而不是Eclipse.我安装它然后启动一个全新的项目并按照向导.我没有添加自己的代码.

然后,我右键单击以创建一个新组件,一个新的片段:

在此输入图像描述

并选择一个新片段:

在此输入图像描述

我一看到,就看到编译错误:

在此输入图像描述

...所以我开始谷歌搜索,并发现我需要安装和引用支持库4,我做.当我检查build.gradle(不管是什么,来自Eclipse的新手),我看到:

在此输入图像描述

但我改变了

在此输入图像描述

因为他们这样说这里.重新编译之后,错误仍然存​​在.然后我直接引用.jar文件,如下所示:

在此输入图像描述

并再次重新编译yada yada,但这也没有帮助.

这种行为对我来说似乎很奇怪.我在这里错过了什么?这是SDK Manager视图:

在此输入图像描述

那么,我错过了什么?谢谢=)

Owe*_*hen 113

我的build.gradle中已经有以下依赖项

implementation 'com.android.support:support-v13:26.0.2'
Run Code Online (Sandbox Code Playgroud)

我尝试了以下所有方法,

  • 使高速缓存/重新启动无效
  • 使用gradle文件同步项目
  • 清洁项目
  • 重建项目
  • gradlew清洁

但是,他们都没有为我工作.

最后,我通过删除"/.idea/libraries"解决了它,然后与gradle同步并再次构建.

  • 这有助于"最后,我通过删除"/.idea/libraries""解决了这个问题. (9认同)

Sco*_*rta 93

此问题的症状通常是从命令行构建工作正常(这意味着您的build.gradle文件设置正确)但您在IDE中获得语法突出显示错误.按照以下步骤解决问题:通常在IDE顶部的工具栏中单击" 工具",然后导航到Android,然后导航到"使用Gradle文件同步项目"按钮.我们意识到,IDE不能仅仅照顾好自己,而不是强迫你在合适的时间手动同步,这并不理想.我们正在跟踪此问题的进展情况,请访问https://code.google.com/p/android/issues/detail?id=63151

  • ...而不要与"同步"选项混淆,后者对我不起作用两次.;) (5认同)
  • 工具/ Android不存在......它改变了吗? (4认同)
  • 这并不能解决我的语法高亮问题.我也尝试过许多已经建议的Invalidate Cache/Restart选项以及其他一些方法但是徒劳无功.我已将详细信息放在另一个帖子中:请参阅http://stackoverflow.com/a/32475754/3804695 (3认同)
  • 这是在工具栏的"Tools/Android"目录中. (2认同)

Sur*_*mar 46

试试这可能会对你有所帮助.转到"文件" - >"使缓存无效...",然后选择"无效并重新启动"选项来解决此问题.


小智 19

替换这行代码

import android.support.v4.app.FragmentActivity;
Run Code Online (Sandbox Code Playgroud)

import androidx.fragment.app.FragmentActivity;
Run Code Online (Sandbox Code Playgroud)

你就完成了。

  • 大多数答案都是从 2013 - 18 开始的,这是最新的答案,它对我有用。 (2认同)

Lam*_* Do 9

自从我更新到Android Studio 0.3.7的最新版本后,我遇到了同样的问题.所以你可以尝试我的东西.

确保您已更新到最新版本的Android支持存储库 - 3 Android支持库 - 19

作为上面的附件图片,您已经完成了.然后将以下设置添加到build.gradle

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
}
Run Code Online (Sandbox Code Playgroud)

还有一件事:请确保您的Android SDK定位到正确的SDK文件夹


Roh*_*wal 8

"文件" - >"无效缓存..."

为我工作.


Ped*_*lez 6

在此输入图像描述我找到了一个快捷方式:文件 - 项目结构 - 标签:依赖关系单击绿色+标志,选择support-v4(或任何其他您需要的),单击确定.

现在转到您的gradle文件,看看已添加


rad*_*vus 5

我正在运行迄今为止最新版本的 AndroidStudio(2015 年 11 月 10 日)——v1.4(构建 AI-141.2288178,构建于 2015 年 9 月 28 日)并且我构建了我的项目并且一切正常。然后在我的计算机处于非活动状态几个小时后,我回来了,编辑了一些与支持库无关的代码并开始看到:

无法解析符号“fragmentactivity”,我在 AndroidStudio 编辑器中看到与 fragmentactivity 相关的红色突出显示项目。

解决方案是简单地做一个

构建...重建项目...

我只是提到这一点,所以其他人可能会看到它并知道它正在发生。


小智 5

1>文件 - >使缓存无效2>构建 - >重建

它为我工作


小智 5

我正在使用buck,似乎通过删除/.idea/libraries项目文件夹中的,并且gradle同步再次对我有用。


CCJ*_*CCJ 5

2021 年在这里 - 如果您像我一样,遗憾地必须让一些新代码与五年多以来未曾触及的遗留垃圾一起使用,并且仍然使用支持库并且在截止日期之前无法更改,您可以尝试查看 gradle.properties 中的:

android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)

并对它们进行评论(如果存在)。Android Studio 4.1.2 默认将它们插入新项目中,并且它们似乎妨碍了支持库的使用。考虑到这些名称,这并不奇怪,但事实上它们会自动添加到新项目中,这有点令人讨厌。