You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用@Parcelize注解为何仍需实现Parcelable抽象方法?

解决@Parcelize注解无法自动生成Parcelable实现的问题

你遇到这个问题是因为没配置@Parcelize依赖的Kotlin插件,编译器识别不了该注解,所以会强制要求手动实现Parcelable的抽象方法。按以下步骤配置即可解决:

  • 添加Kotlin Parcelize插件
    在Module级别的build.gradle.kts(或build.gradle)的plugins块中添加kotlin-parcelize插件:
    若使用KTS语法:

    plugins {
        id("com.android.application")
        id("org.jetbrains.kotlin.android")
        id("kotlin-parcelize") // 新增这一行
    }
    

    若使用Groovy语法:

    plugins {
        id 'com.android.application'
        id 'org.jetbrains.kotlin.android'
        id 'kotlin-parcelize' // 新增这一行
    }
    

    注:旧版本Android项目曾使用kotlin-android-extensions插件,但该插件已被废弃,推荐使用上述的kotlin-parcelize。

  • 导入正确的注解包
    确保代码中导入的是kotlinx.android.parcel.Parcelize,而非其他包的同名注解:

    import kotlinx.android.parcel.Parcelize
    import android.os.Parcelable
    
  • 同步Gradle并重新编译
    点击Android Studio右上角的「Sync Project with Gradle Files」按钮完成同步,之后重新编译项目。此时@Parcelize就能自动生成Parcelable的实现代码,无需手动编写describeContents()和writeToParcel()方法。

验证正确的代码示例:

import kotlinx.android.parcel.Parcelize
import android.os.Parcelable

@Parcelize
data class Person(val name: String, val age: Int) : Parcelable

内容的提问来源于stack exchange,提问作者Sirop4ik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:32:12