【发布时间】:2019-01-14 11:19:01
【问题描述】:
我在下面有一个数据类。使用协程并将结果转换为带有 gson 的 UserItem 对象。
问题是,在 init 块中,对象仍未初始化,并且 nick、images 等变量为空。我应该在哪里写 init 块中的代码?
data class UserItem(
@SerializedName("username") val nick: String = "",
@SerializedName("full_name") val fullName: String = 0,
@SerializedName("info") val bio: String = "",
@SerializedName("images") val images: List<String> =
arrayListOf(),
var imageType: ImageType = ImageType.NO_PHOTO
){
companion object {
@JvmStatic
val DISPLAY_TYPE_USER = 0
@JvmStatic
val DISPLAY_TYPE_INFO = 1
}
enum class ImageType {
NO_PHOTO, SINGLE_PHOTO, MULTIPLE_PHOTO
}
init {
if (images.size == 1)
imageType = ImageType.SINGLE_PHOTO
else if (images.size > 1)
imageType = ImageType.MULTIPLE_PHOTO
}
}
【问题讨论】: