You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中Fragment默认构造器弃用及兼容问题求助

问题分析与解决

嘿,这个问题其实很好搞定,核心原因就是你两个Fragment用了不同版本的API库,导致和Activity里的FragmentManager不兼容:

为什么会报错?

  • 你的ControlFragment导入的是AndroidX版本的Fragment:import androidx.fragment.app.Fragment;,这是当前Android开发推荐使用的新库。
  • 而AndresFragment导入的是旧版原生Fragment:import android.app.Fragment;,这个API已经被官方弃用,所以会弹出“默认构造器已弃用”的提示。
  • 你的MainActivity用的是getSupportFragmentManager(),这个方法属于AndroidX组件,只能管理AndroidX版本的Fragment,自然无法识别旧版的AndresFragment,因此编译报错。

修复步骤

只需要修改AndresFragment的导入语句,把旧版Fragment换成AndroidX版本即可:

修改前:

import android.app.Fragment;

修改后:

import androidx.fragment.app.Fragment;

修改完成后,两个Fragment就统一使用AndroidX的Fragment API了,和getSupportFragmentManager()完美兼容,两个报错都会消失。

另外补充一点:AndroidX的Fragment不需要手动编写默认构造器,系统会自动处理,所以你可以去掉显式的构造器代码(如果有的话),让代码更简洁。

内容的提问来源于stack exchange,提问作者Josef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:37:16