首页 > 解决方案 > 参数包中“大小”的参数类型错误。字符串 [] 预期

问题描述

收到的堆栈跟踪:

java.lang.IllegalArgumentException:参数包中“大小”的参数类型错误。字符串 [] 预期。在 androidx.navigation.NavDestination.addInDefaultArgs(NavDestination.java:524) 在 androidx.navigation.NavController.navigate(NavController.java:932) 在 androidx.navigation.NavController.navigate(NavController.java:867) 在 androidx.navigation。 NavController.navigate(NavController.java:804) at androidx.navigation.NavController.navigate(NavController.java:790) at com.example.kotinmvvm.adapter.UserAdapter$onBindViewHolder$1.onClick(UserAdapter.kt:51)

User.kt 中的代码:

class User {
    @SerializedName("id")
    @Expose
    var id: String = ""

    @SerializedName("name")
    @Expose
    var name: String = ""

    @SerializedName("image")
    @Expose
    var image: String = ""

    @SerializedName("desc")
    @Expose
    var desc: String = ""

    @SerializedName("sizes")
    @Expose
    val sizes = ArrayList<String>()
}

JSON数据:

{
id: 43354,
desc: "Nobis voluptatibus est necessitatibus tempore voluptate voluptatibus. Illum suscipit nam et nostrum. Est exercitationem tempore pariatur nisi soluta iure.",
name: "Prof. Carmel Ebert III",
image: "https://lorempixel.com/640/640/?81469",
sizes: [
"UK7",
"UK8",
"UK9",
"UK10"
]}

解决此问题需要进行哪些更改?

标签: kotlinserialization

解决方案


要获取字符串对象更改的内部列表,请尝试

  @SerializedName("sizes")
  @Expose
  var sizes : List<String>? = null

推荐阅读