我有一个来自 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
类。
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/