【发布时间】:2019-02-12 09:44:28
【问题描述】:
我从firestore获取数据放入ArrayList
arraylist=document.get("questionsList") as ArrayList<Question>
Toast.makeText(context, arraylist.size, Toast.LENGTH_LONG).show()
当我打印数组的大小时它没问题 当我需要从 Arraylist 获取问题项时放置
Toast.makeText(context, arraylist!![0].question, Toast.LENGTH_LONG).show()
结果是 java.util.HashMap 无法转换为 Question
document in firestore image here
问题类
class Question (var question:String,var choices:ArrayList<String>,var correctAnswer:String
,private var userAnswer:String): Parcelable {
constructor(parcel: Parcel) : this(
parcel.readString()!!, arrayListOf<String>().apply {
parcel.readString()
},
parcel.readString()!!,
parcel.readString()!!
)
constructor():this(question="",choices = ArrayList<String>(),correctAnswer = "",userAnswer = "")
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(question)
parcel.writeString(correctAnswer)
parcel.writeString(userAnswer)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Question> {
override fun createFromParcel(parcel: Parcel): Question {
return Question(parcel)
}
override fun newArray(size: Int): Array<Question?> {
return arrayOfNulls(size)
}
}
}
【问题讨论】:
-
请添加您的数据库结构以查看您的
questionsList属性,并请回复@AlexMamo -
@AlexMamo 我添加了它
-
请同时添加你的
Question类的内容。 -
@AlexMamo 在上面
标签: android firebase dictionary arraylist kotlin