Android kotlin 使用recreate 方法后出现ould not find Fragment constructor解决办法
当使用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实例
原文地址: http://www.cveoy.top/t/topic/iSKb 著作权归作者所有。请勿转载和采集!