kotlin 参数包中“sizes”的参数类型错误,应为string[]

r6hnlfcb  于 2023-11-21  发布在  Kotlin
关注(0)|答案(4)|浏览(134)

收到的stacktrace:
java.lang.IllegalArgumentException:参数包中“sizes”的参数类型错误。应为string[]。在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)在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"
]}


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

y53ybaqx

y53ybaqx1#

如果没有看到JSON,很难判断。
那大概应该是:

val sizes: ArrayList<String>()

字符串
或者试试:

var sizes: String = ""

kse8i1jr

kse8i1jr2#

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

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

字符串

yxyvkwin

yxyvkwin3#

试试这个类

data class User(
    @SerializedName("desc")
    var desc: String = "",
    @SerializedName("id")
    var id: Int = 0,
    @SerializedName("image")
    var image: String = "",
    @SerializedName("name")
    var name: String = "",
    @SerializedName("sizes")
    var sizes: List<String> = listOf()
)

字符串
您可以使用此plugin轻松地将任何JSON数据转换为数据类

falq053o

falq053o4#

在我的例子中,我试图在一个bundle对象中放置一个null值,该对象用于通过导航组件库传递到下一个片段。

val bundle = Bundle()
  bundle.putString(
     KEY,
     value
 )

字符串
上面的值实际上是null。putString()在编译时接受它,但在运行时抛出错误。
java.lang.IllegalArgumentException:参数中的“KEY”参数类型错误

相关问题