小编miP*_*der的帖子

使用@Parcelize 尝试在 writeToParcel(Client.kt:0) 处的空对象引用上调用接口方法“int java.util.Collection.size()”

我的 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

8
推荐指数
0
解决办法
685
查看次数

在Android App和Server Couchbase Lite之间同步数据

我希望Couchbase首先临时存储数据,然后自动将其与服务器同步。我该如何实现?

例如,在笔记制作应用程序中,我添加了笔记,并且Couchbase应该自动将其添加到服务器中。

android couchbase couchbase-lite couchbase-sync-gateway

2
推荐指数
1
解决办法
161
查看次数

在 Kotlin 数据类中使用 @Parcelize 注解的 NPE

我最近将 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)

android kotlin kotlin-extension kotlin-android-extensions

1
推荐指数
1
解决办法
3306
查看次数