我的 Parcelable Model 类的代码如下,
@Parcelize
data class Client(
@SerializedName("id")
var id: Int = 0,
@SerializedName("accountNo")
var accountNo: String? = null,
@SerializedName("status")
private val status: Status,
@SerializedName("active")
private val active: Boolean?,
@SerializedName("activationDate")
var activationDate: List<Int> = ArrayList(),
@SerializedName("dateOfBirth")
var dobDate: List<Int> = ArrayList(),
@SerializedName("clientClassification")
var clientClassification: @RawValue ClientClassification? = null,
@SerializedName("clientType")
var clientType: @RawValue ClientType? = null,
@SerializedName("gender")
var gender: @RawValue Gender? = null,
@SerializedName("groups")
var groups: @RawValue List<Group> = ArrayList()
) : Parcelable
Run Code Online (Sandbox Code Playgroud)
在将此类转换为 Kotlin 之前,Java 代码运行良好。为什么要给空指针,因为我正在初始化数据类的构造函数中的所有 List ?
android parcelable kotlin kotlin-extension kotlin-android-extensions
我希望Couchbase首先临时存储数据,然后自动将其与服务器同步。我该如何实现?
例如,在笔记制作应用程序中,我添加了笔记,并且Couchbase应该自动将其添加到服务器中。
我最近将 Java 模型类迁移到 Kotlin 数据类。我使用 @Parcelize 注释来避免 Parcelable 的样板代码。我在 Kotlin 中的数据类如下所示,
@Parcelize
data class TimeLine(
@SerializedName("submittedOnDate")
var submittedOnDate: List<Int> = ArrayList(),
@SerializedName("submittedByUsername")
var submittedByUsername: String,
@SerializedName("submittedByFirstname")
var submittedByFirstname: String,
@SerializedName("submittedByLastname")
var submittedByLastname: String,
@SerializedName("approvedOnDate")
var approvedOnDate: List<Int> = ArrayList(),
@SerializedName("approvedByUsername")
var approvedByUsername: String,
@SerializedName("approvedByFirstname")
var approvedByFirstname: String,
@SerializedName("approvedByLastname")
var approvedByLastname: String,
@SerializedName("activatedOnDate")
var activatedOnDate: List<Int>,
@SerializedName("activatedByUsername")
var activatedByUsername: String,
@SerializedName("activatedByFirstname")
var activatedByFirstname: String,
@SerializedName("activatedByLastname")
var activatedByLastname: String,
@SerializedName("closedOnDate")
var closedOnDate: List<Int>) : Parcelable`
Run Code Online (Sandbox Code Playgroud)
但它给了我空指针错误,如下所示,
java.lang.NullPointerException: Attempt to invoke interface method …Run Code Online (Sandbox Code Playgroud)