Kotlin – 继承自实现Parcelable的Java Class
我是Kotlin的新手,只是尝试一下。
我转换到Kotlin的项目中的第一个类有一个扩展RectF(实现Parcelable)的内部类。
static class MyClass extends RectF
转换为
internal class MyClass : RectF()
但有以下错误:
这个类实现了Parcelable,但是不提供CREATOR字段
试验中,我发现val CREATOR = RectF.CREATOR
MyClass中删除错误,但这是丑陋的黑客。
任何人都可以解释/解决这个问题吗?
非常感谢。
您必须遵守Parcelable
合同:
实现
Parcelable
接口的类还必须有一个名为CREATOR
的非null静态字段,该字段实现了Parcelable.Creator
接口。
但是你的黑客只能删除lint错误。 你应该直接为你的类实现RectF
,而不是重新使用RectF
。
internal class MyClass : RectF() { companion object { @JvmField val CREATOR = Parcelable.Creator() { ... } } }