1 回答

TA貢獻1818條經驗 獲得超7個贊
可能存在項目小于分頁大小的情況所以這里是代碼
private var lastVisible: DocumentSnapshot? = null
private var isLastPage: Boolean = false
private var isDocEmpty: Boolean = false
var ref: Task<QuerySnapshot>? = null
if (lastVisible != null) {
ref = database.collection("app").document("data").collection("offers").orderBy("discount").startAfter(lastVisible).limit(paginationSize).get()
} else {
ref = database.collection("app").document("data").collection("offers").orderBy("discount").limit(paginationSize).get()
}
ref.addOnSuccessListener { documents ->
hideProgress()
isDocEmpty = documents.isEmpty
if (!isDocEmpty) {
lastVisible = documents.last()
isLastPage = documents.size() < paginationSize
}
isLoading = false
}
.addOnFailureListener { exception ->
Log.w("TAG", "Error getting documents: ", exception)
isLoading = false
hideProgress()
}
我希望這會幫助你。
添加回答
舉報