嘿,我正在尝试从Firestore获取文本,但它返回的是空值。对firebase数据库做了同样的事情,所以我知道我做错了,所以如果您有解决方案,或者您发现一个错误,请发表我的意见。
这是查询存储区
private var query = FirebaseFirestore.getInstance()
.collection("available")
.limit(50)
这是选项
val options = FirestoreRecyclerOptions.Builder<Available_List>()
.setQuery(query, Available_List::class.java)
.build()
这是RecyclerAdapter,它可以正常工作
private var firebaseRecyclerAdapter = object : FirestoreRecyclerAdapter<Available_List, AvailableViewHolder>(options) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AvailableViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.available, parent, false)
return AvailableViewHolder(view)
}
这是我得到空值的地方 model.mAvailable.isNullOrEmpty()是
override fun onBindViewHolder(holder: AvailableViewHolder, position: Int, model: Available_List) {
Toast.makeText(this@Searching,model.mAvailable.toString(),Toast.LENGTH_SHORT).show()
if (model.mAvailable.isNullOrEmpty()){
Log.d("model testing","true")
}else{
Log.d("model testing","false")
}
holder.available.text = model.mAvailable
}
}
这是我的课程
class AvailableList {
var mAvailable:String? = null
constructor(){}
constructor(available:String){
this.mAvailable = available
}
}
如果您有使用Java的解决方案,那也很好!!
答案 0 :(得分:0)
您的AvailableList
定义了一个名称为mAvailable
的字段。由于您的文档仅包含一个名为available
的字段,因此Firebase从文档创建的对象将为空。
要允许Firebase读取文档,请确保文档中的字段名称与您的班级名称匹配。