gpt4 book ai didi

android - 如何在 Kotlin 中初始化 Array>?

转载 作者:行者123 更新时间:2023-12-02 12:48:17 26 4
gpt4 key购买 nike

我有一个来自 rest API 的 JSON 字符串,我将它绑定(bind)到 List<CategoryDO>目的。我将所有类别/子类别数据放入此列表对象 List<CategoryDO>但我不知道如何将这些数据中的子类别分成 Array<List<CategoryDO>>格式。

如何将子类别列表添加到 Array<List<CategoryDO>>目的?如何声明和初始化 Array<List<CategoryDO>>在 Kotlin ?

所有类别都应在 List<CategoryDO>Array<List<CategoryDO>> 中的格式和所有子类别格式。

例如:

List<CategoryDO of Cat-1, CategoryDO of cat-2, ... etc>

Array<List<CategoryDO of SubCat-1 of Cat-1, CategoryDO of SubCat-2 of Cat-1>>, List<CategoryDO of SubCat-12 of Cat-2, CategoryDO of SubCat-22 of Cat-2>>, ...etc>>

CategoryDO 数据类:
data class CategoryDO(  @SerializedName("Id")
@Expose
var id: Long? = null,
@SerializedName("Name")
@Expose
var name: String? = null,
@SerializedName("SubCategories")
@Expose
var subCategories: List<CategoryDO>? = null)

实际上,我需要将这个单独的类别/子类别的东西传递给 CategoryAdapter类(class)。
CategoryAdapter类(class)样本:
class CategoryAdapter : BaseExpandableListAdapter {
private var groupItem: List<CategoryDO>
private var contentItem: Array<List<CategoryDO>>
private var context: Context
private var imageOnClickListener: View.OnClickListener

constructor(context: Context, groupItem: List<CategoryDO>, contentItem: Array<List<CategoryDO>>, imageOnClickListener: View.OnClickListener) {
this.groupItem = groupItem
this.contentItem = contentItem
this.context = context
this.imageOnClickListener = imageOnClickListener
}
.
.
.
}

最佳答案

如果需要转换 List<CategoryDO>Array<List<CategoryDO>>其中内部列表是每个 CategoryDO 的子类别列表,您可以映射原始列表并将结果转换为数组...

// Given
val categories: List<CategoryDO> = TODO()

val allSubCats: Array<List<CategoryDO>> =
categories.map { it. subCategories }.toTypedArray()

关于android - 如何在 Kotlin 中初始化 Array<List<Model>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50292416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com