从Firestore中的文档获取空值

时间:2019-05-12 22:39:47

标签: android firebase kotlin google-cloud-firestore firebaseui

嘿,我正在尝试从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的解决方案,那也很好!!

firestore database

1 个答案:

答案 0 :(得分:0)

您的AvailableList定义了一个名称为mAvailable的字段。由于您的文档仅包含一个名为available的字段,因此Firebase从文档创建的对象将为空。

要允许Firebase读取文档,请确保文档中的字段名称与您的班级名称匹配。