当在Activity中调用recreate()方法重新创建Activity时,会重新创建Fragment。但是,由于自定义的BaseFragment没有默认的无参构造函数,所以无法找到Fragment的构造函数,从而导致该错误。

为了解决这个问题,你可以在自定义的BaseFragment中添加一个无参构造函数,如下所示:

class BaseFragment : Fragment() {
    constructor() : super() {
        // 可选的初始化代码
    }

    // 其他代码...
}

这样,当Activity调用recreate()方法时,就可以找到BaseFragment的构造函数了。如果你在BaseFragment中有其他的构造函数,你也可以在这里进行相应的处理。

另外,如果你使用了带参数的构造函数来创建Fragment实例,你需要使用newInstance()方法来创建Fragment实例,而不是直接使用构造函数。

希望这可以帮助到你!

Android kotlin 自定义BaseFragment加载布局 在Acitivity中使用recreate时 could not find Fragment constructor

原文地址: http://www.cveoy.top/t/topic/iSNu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录