Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TypeConverter()在Android中的TypeConverter错误中具有私有访问权限_Java_Android_Android Studio_Kotlin_Android Room - Fatal编程技术网

Java TypeConverter()在Android中的TypeConverter错误中具有私有访问权限

Java TypeConverter()在Android中的TypeConverter错误中具有私有访问权限,java,android,android-studio,kotlin,android-room,Java,Android,Android Studio,Kotlin,Android Room,我已经在我的项目中整合了房间。在这个项目中,有些类在Kotlin中,有些在Java中。在我使用Android Studio Ctrl+Alt+Shift+K组合将Java文件转换为Kotlin后,我开始面临以下错误: TypeConverter()在TypeConverter中具有私有访问权限 在生成的java类中,在这一行: private final PointOfInterest.TypeConverter __typeConverter_5 = new PointOfInterest.T

我已经在我的项目中整合了房间。在这个项目中,有些类在Kotlin中,有些在Java中。在我使用Android Studio Ctrl+Alt+Shift+K组合将Java文件转换为Kotlin后,我开始面临以下错误:

TypeConverter()在TypeConverter中具有私有访问权限

在生成的java类中,在这一行:

private final PointOfInterest.TypeConverter __typeConverter_5 = new PointOfInterest.TypeConverter();

但是
兴趣点
类中的
类型转换器
是公共的。

在我的特殊情况下,我使用android studio ctrl+alt+shift+k组合键将Java文件转换为Kotlin。android studio所做的是,它将我的
类TypeConverter
类转换为
对象TypeConverter
类型,而我就是不明白为什么我的代码停止工作。因此,我手动将
对象类型转换器
更改为
类类型转换器

关于到Kotlin的转换还有一点:对于Parcelable类,android studio中的Kotlin转换文件不会在CREATOR字段中添加@JvmField。因此,您必须手动添加它
@JvmField val CREATOR
,以确保Parcelable类正常工作

不要将
对象
关键字更改为
(正如公认的答案所示)。这保证了单例模式

在将
TypeConverter
java文件自动转换为kotlin文件后,您应该标记所有内部转换器函数,以便Room可以将它们用作常规静态函数

看看这位官员,特别是那位。而且,它可能是有用的。这是我的
日期类型转换器.kt

object DateTypeConverter {

    @TypeConverter
    @JvmStatic
    fun toDate(timestamp: Long?) = timestamp?.let { Date(timestamp) }

    @TypeConverter
    @JvmStatic
    fun toTimestamp(date: Date?) = date?.time

}

你能用
TypeConverter
添加你的
PointOfInterest
类吗?
@JvmStatic
是最基本的部分(这很有意义)。谢谢