【问题标题】:MutableList<Any> addAll kotlin entire arraylist added as objectMutableList<Any> addAll kotlin 整个数组列表添加为对象
【发布时间】:2021-02-06 06:44:59
【问题描述】:

以下是我的代码

var items : MutableList<Any> = arrayListOf()
        items.add(TeacherDetails(it?.photo,it?.firstName,it?.lastName,it?.level))
        items.add(TeacherBio(it?.bio))
        items.add(TitleAccreditations(getString(R.string.acreditations)))
        items.add(SessionsTitle(it?.firstName + getString(R.string.apostrophe) + getString(
                        R.string.sessions)))
        items.addAll(listOf(it?.classes ?: arrayListOf()))
        items.add(IntroVideo(it?.introVideo))
        items.addAll(it?.teachingAccreditations?.split("\n")?.map { Accreditation(
            it
        ) }?: emptyList())

问题在于下一行,它将整个列表添加为对象而不是单个项目。

items.addAll(listOf(it?.classes ?: arrayListOf()))

以下是我的模型

data class Teacher(

@field:SerializedName("firstName")
val firstName: String? = null,

@field:SerializedName("lastName")
val lastName: String? = null,

@field:SerializedName("teacherId")
val teacherId: String? = null,

@field:SerializedName("introVideo")
val introVideo: String? = null,

@field:SerializedName("level")
val level: String? = null,

@field:SerializedName("teachingAccreditations")
val teachingAccreditations: String? = null,

@field:SerializedName("classes")
val classes: List<ClassesItem?>? = null,

@field:SerializedName("photo")
val photo: String? = null,

@field:SerializedName("bio")
val bio: String? = null
)

【问题讨论】:

  • 您可以添加您的it 型号代码吗?
  • 添加型号代码

标签: android kotlin generics any mutablelist


【解决方案1】:

我猜是因为你的listtypeAny,它会考虑将list 实例也添加为object,所以改为listOf() 直接添加即可

items.addAll(it?.classes?.filterNotNull()?: arrayListOf())

【讨论】:

    猜你喜欢
    • 2020-11-14
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 2012-08-02
    • 2013-11-10
    • 1970-01-01
    相关资源
    最近更新 更多