【问题标题】:Unresolved reference: Parcelable Kotlin未解决的参考:Parcelable Kotlin
【发布时间】:2021-10-29 11:35:18
【问题描述】:

我想使用 safeArgs 将一个对象从一个片段发送到另一个片段,但即使我添加了必要的插件,Parcelable 也无法正常工作。有人能帮帮我吗? 模型类


import android.os.Parcelable
import kotlinx.parcelize.Parcelize

@Parcelize
data class GazModel(
    val id: String,
    val name: String,
    val description: String?,
    val price : Double,
    val priority: Int,
    val weight : Double,
    val imageUrl : String?,
    var quantity : Int = 0,
    var selected: Boolean = false,
    val gazType: String, // TRADEX, TOTAL, CAMGAZ
) :  Parcelable{}

build.gradle.kts(项目)

 dependencies {
        //...
        val nav_version = "2.3.5"
        classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version")
    }

build.gradle.kts(模块)

plugins {
 //...
    id("androidx.navigation.safeargs.kotlin")
    id ("kotlin-parcelize")
}

问题框中出现的问题

Unresolved reference: os
No 'Parcelable' supertype
Unresolved reference: Parcelable

【问题讨论】:

  • 你是 gradle 文件 Kotlin 还是 Groovy? build.gradle.kts 还是 build.gradle?
  • 这可能有助于进一步的过程:stackoverflow.com/questions/68973416/…
  • @user2836202,他们是 build.gradle.kts
  • @KaruneshPalekar 谢谢你的回答先生,但我总是遇到同样的问题,数据类中的 parcelable 无法识别

标签: android kotlin parcelable


【解决方案1】:

在 build.gradle(Module) 中,添加一个 id('kotlin-android-extensions') 而不是 id ("kotlin-parcelize"),就可以了!

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
}

【讨论】:

  • 我试过了,但它不起作用,我读到 id 'kotlin-android-extensions' 已弃用
  • 还将这一行添加到 build.gradle.kts (Project) classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
【解决方案2】:

试试这个

@Parcelize
data class GazModel(
    val id: String,
    val name: String,
    val description: String?,
    val price : Double,
    val priority: Int,
    val weight : Double,
    val imageUrl : String?,
    var quantity : Int = 0,
    var selected: Boolean = false,
    val gazType: String, // TRADEX, TOTAL, CAMGAZ
) :  Parcelable

我的意思是用 Parcelable 扩展而不是 Parcelable{} 希望这能解决问题

【讨论】:

    猜你喜欢
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多