我尝试创建Android应用。在Android Studio中使用标签。我遇到了所有片段导入导致错误Cannot Resolve Symbol 'FragmentManager'
以及与程序中的片段相关的任何其他内容的问题。我确保导入了正确的支持文件:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
我检查过以确保我在布局文件中调用了活动片段,类似的问题解释为[here]。
我确定自己拥有最新的Android SDK Build-tools,显示为 [here] 。
我[re-synced the Gradle Files]。
Tools > Android > Sync Project with Gradle Files
我甚至从Android开发人员指南[Creating Swipe Views with Tabs]导入了一个预先制作的应用程序,但错误并没有消失。这让我觉得Android Studio可能有问题。我最近更新到0.8.14版本,我注意到文件结构发生了一些变化,现在更加简化了。
这让我回到了gradle文件中。我打开了build.gradle并验证了minSdk版本没有问题,然后最后检查了Gradle可能出现的错误。
apply plugin: 'com.android.application'
android {
compileSdkVersion 15
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "app.name"
minSdkVersion 15
targetSdkVersion 15
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
查看 [solution] 的答案。
答案 0 :(得分:3)
虽然这不是我的问题,但我偶然发现了 [this] 主题,这表明您在构建中为支持构建库添加了其他依赖项。在依赖项部分中添加以下行:
compile 'com.android.support:support-v4:18.0.0'
(有关更多说明,请使用以前的代码,将其添加到compile fileTree(dir: 'libs', include: ['*.jar']
下方)。
一旦你添加了这个,Android Studio会指出gradle文件已经改变,你应该重新同步它们。同步完成后,它应解决无法找到碎片的问题!
答案 1 :(得分:1)
对于那些磕磕绊绊的人,您可能有兴趣知道支持库在版本com.android.support:support-compat:24.2.0
(2016年8月)中有拆分:
注意: 在支持库修订版24.2.0之前,有一个v4支持库。该库分为多个模块以提高效率。为了向后兼容,如果您在Gradle脚本中列出support-v4,则您的APK将包含所有v4模块。但是,为了减少APK尺寸,我们建议您只列出应用所需的特定模块。
v4 compat library
com.android.support:support-core-utils:24.2.0
v4 core-utils库
com.android.support:support-core-ui:24.2.0
v4 core-ui库
com.android.support:support-media-compat:24.2.0
v4 media-compat library
com.android.support:support-fragment:24.2.0
v4片段库
GtkMessageDialog a {
text-decoration: none;
}
参考:
答案 2 :(得分:0)
更新:
对于那些在2019年6月以上遇到此错误的用户,请确保如果您使用的是最新的androidX库,则必须进行更改 android.support.v4.app.FragmentManager < / strong>在代码中将库调用到 androidx.fragment.app.FragmentManager
的任何位置