【问题标题】:Why can't I override onAttachFragment?为什么我不能覆盖 onAttachFragment?
【发布时间】:2016-08-03 06:39:27
【问题描述】:

我有一个从 android.support.v4.app.Fragment 扩展而来的类。文档android.support.v4.app.Fragment 显示有一个名为onAttachFragment(Fragment childFragment) 的方法,但我无法在Android Studio 中覆盖它。就好像它不存在一样。这是有原因的,还是文档中的错误? android.app.Fragment 不支持版本说它已被添加到 API 级别 24。这应该没关系吧?由于我使用的是具有相同类的支持版本。

编辑: 这是我在 build.gradle 中的依赖项

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile project(':core-3.2.1')
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'com.google.android.gms:play-services:7.8+'
    compile 'com.microsoft.azure.android:azure-storage-android:0.7.0@aar'
}

【问题讨论】:

  • 您可以包含您的build.gradle 文件吗?特别是依赖部分
  • 我已经添加了我的依赖项。
  • 也许是语法问题?还可以添加您的课程以及您尝试覆盖此方法的位置?

标签: android fragment android-support-library


【解决方案1】:

您正在使用支持库的23.4.0 版本。只有支持库的 24.X(即24.1.1)版本将包含在 API 24 中添加的等效 API。

您需要升级您的支持库版本才能使用新的 API。

【讨论】:

  • 请注意,根据Google Play services 9.0.1 release notes,使用支持库的24.0.0 或更高版本的Google Play 服务时存在不兼容问题,因此您可能需要升级您的Google Play服务依赖(请切换到split dependencies - 它们要小得多)
  • 谢谢!我想当我更新我的 SDK 时,它会编辑 gradle 文件,但没有。我猜当我使用 Android Studio 的 SDK 管理器时可能会这样,但我总是关闭它并打开原始的。
  • Android Studio 不会为您更新您的依赖项,因为它肯定可能会在您准备好之前改变行为或破坏事情,但您会在build.gradle 中收到警告说更新版本是通过 SDK 管理器更新后可用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 2019-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多