nok*_*ula 6 java android kotlin
我正在尝试在Kotlin上重写我的Android应用程序,并且在转换ContentProvider合同类时我遇到了问题.所以我有简单的合同类(内容类型和内容uris的默认内容被省略):
public final class Contract {
public static final class Contacts {
public static final String NAME = "Name"
public static final String BIRTH = "Birth"
public static final String IMAGE = "Image"
}
}
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,在Kotlin我们没有静态成员.而不是这个,我们有"伴侣对象".所以在将它转换为Kotlin后,我有这个代码:
object BirthdayContract {
class Contacts : BaseColumns {
companion object {
val NAME = "Name"
val BIRTH = "Birth"
val IMAGE = "Image"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图访问像Contract.Contacts.NAME这样的字段时,我有错误:"NAME有私人访问权限".更改可见性修饰符不起作用.那么有什么方法可以在Kotlin中使用这样的契约类,或者更好地将它保存在Java中?
UPD 我认为我应该澄清一下 - 我的来电代码也在Kotlin中.问题出在@JvmField注释中.有了它,我可以直接访问静态成员,而无需调用getter.
| 归档时间: |
|
| 查看次数: |
5053 次 |
| 最近记录: |