如何将 arrayList 元素添加到 kotlin 中的模型 class arrayList 中?

how can I add arrayList elements into model class arrayList in kotlin?

我正在尝试将 arrayList 的元素添加到模型 class arrayList 中。但最后,模型 class 的所有元素都成为最后添加的元素。我错过了什么?谢谢

这是模特class

class ChaplainAvailableTimesModelClass(
    var time: String? = null,
    val isBooked: Boolean = false,
    val patientUid: String? = null

    ) {
}

我在这里定义了数组列表

private var chaplainAvailableTimes = ArrayList<ChaplainAvailableTimesModelClass>()
private var temporaryTimes= ArrayList<String>()

这是加法部分

val chaplainAvailableTimesModelClass = ChaplainAvailableTimesModelClass()
dbSaveAvailableTimes = db.collection(chaplainCollectionName).document(chaplainUserId)
for (k in 0 until temporaryTimes.size){
     chaplainAvailableTimesModelClass.time = temporaryTimes[k]
     chaplainAvailableTimes.add(chaplainAvailableTimesModelClass)
}

你的代码中的问题是这样的:

val chaplainAvailableTimesModelClass = ChaplainAvailableTimesModelClass() /// <-----
dbSaveAvailableTimes = db.collection(chaplainCollectionName).document(chaplainUserId)
for (k in 0 until temporaryTimes.size){
     chaplainAvailableTimesModelClass.time = temporaryTimes[k]
     chaplainAvailableTimes.add(chaplainAvailableTimesModelClass)
}

您在 for 循环之前实例化了一次 chaplainAvailableTimesModelClass,并在将其添加到数组列表时使用相同的实例。您需要根据所需数量 (temproraryTimes.size) 创建不同的 chaplainAvailableTimesModelClass 实例。

因此,根据您想执行的操作,将 chaplainAvailableTimesModelClass 的实例化移动到 for 循环内可能是值得的。