当使用recreate()方法重新创建Activity时,可能会遇到"Could not find Fragment constructor"的错误。这通常是因为Fragment没有一个无参数的构造函数。

解决此问题的方法是,在Fragment中添加一个无参数的构造函数。例如:

class MyFragment : Fragment() {
    // 添加无参数的构造函数
    constructor() : super()

    // 其他代码...
}

如果你已经有一个带参数的构造函数,可以通过使用@JvmOverloads注解来生成无参数构造函数的重载。例如:

class MyFragment(val someParameter: String) : Fragment() {
    // 添加无参数的构造函数的重载
    @JvmOverloads
    constructor() : this("default value")

    // 其他代码...
}

使用@JvmOverloads注解后,编译器会自动生成一个无参数的构造函数,并使用默认值调用带参数的构造函数。

当你的Fragment有多个构造函数时,确保只有一个构造函数是无参数的,以便在重新创建Activity时能够正确地创建Fragment实例

Android kotlin 使用recreate 方法后出现ould not find Fragment constructor解决办法

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

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