今天在尝试在 Activity 中动态加载 Fragment 时,突然报错:transaction.replace 报错,如下图:
明明是一模一样的代码怎么会就运行不起来呢?气查的资料也五花八门,对的错的都有。。。 最后牺牲了无数无辜的头发,查了不少资料,尝试了无数遍,可算让我整明白了。
这是错误之前的import:一般用Android Studio自动导入好像都是这个(反正我是让它自动帮我导入的,结果它自动导入错的就离谱!!)
这是我写的动态加载Fragment的代码,按理来说,步骤啥的都是正确的,但是还是一直报错~ 一直报错~:
尝试了无数的方法,还是报错~~
最后查了不少资料,很多资料说的云里雾里,不过好在让我整明白了
就是import导入了错误的包,所以才会报错。我的 Fragment 导入了 androidx 里的包,但是其他那两个导入的是 android.app 下的包,包不同,所以报错了,统一改成 androidx 的就可以了。
我把import里的改了,改成:
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
如下图,然后把红线的那两个(罪魁祸首)给删掉,然后就就就不报错了~ 就离谱~
哎呀,可算解决了!!