首页 > 解决方案 > 滑动后 Cloud Firestore 不会在 Fragments 上显示数据

问题描述

我用 Firebase Cloud Firestore 创建了一个应用程序。我正在尝试将我的订单列出到片段之间的 recyclerview 中。我有一个片段:OrderListFragment

// RecyclerView
mOrderAdapter = object : OrderAdapter(getQuery(mFirebaseFirestore), this@OrderListFragment) {
        override fun onDataChanged() {
            super.onDataChanged()

            mRecyclerView.visibility = View.VISIBLE

        }

        override fun onError(e: FirebaseFirestoreException) {
            super.onError(e)

            showShortToast(context!!, "Error: " + e.toString())

            // Show a snackbar on errors
            Snackbar.make(mSnackbarLayout!!, "Error: check logs for info.", Snackbar.LENGTH_LONG).show()
        }
    }
mRecyclerView.adapter = mOrderAdapter

以及扩展上述片段的两个片段:

1.

class RecentOrderFragment : OrderListFragment() {

    override fun getQuery(firebaseFirestore: FirebaseFirestore): Query {

        return firebaseFirestore.collection("tblOrders")
            .orderBy("timestamp", Query.Direction.DESCENDING)
            .whereEqualTo("isDraft", false)
            .whereEqualTo("isPaidFor", true)
            .limit(LIMIT.toLong())
    }
}

2.

class MyOrdersFragment : OrderListFragment() {

    override fun getQuery(firebaseFirestore: FirebaseFirestore): Query {
        return firebaseFirestore.collection("tblOrders")
            .whereEqualTo("userId", uid)
            .whereEqualTo("isDraft", false)
            .orderBy("timestamp", Query.Direction.DESCENDING)
            .limit(LIMIT.toLong())
    }
}

起初,它显示订单,但是当我从一个片段滑动并返回时,前一个片段无法再次显示 recyclerview。实际上现在它根本不显示

标签: androidfirebaseandroid-fragmentskotlingoogle-cloud-firestore

解决方案


推荐阅读