Получение общего количества элементов страничного списка на Android
Я создал LivePagedList, чтобы получать элементы в зависимости от запроса. Каждый раз при изменении запроса меняются и элементы.
Итак, список возвращал изменения каждый раз, когда я меняю запрос, поэтому я хочу знать, сколько всего элементов в списке. Я не вижу никакого способа получить это, только метод размера, но этот метод сообщает мне только текущие элементы, но не общую сумму.
например:
LivePagedList.getTotalCountItems
это мой код в модели представления:
contactsList = Transformations.switchMap(filterText) { user ->
val config = PagedList.Config.Builder()
.setPageSize(1)
.setInitialLoadSizeHint(10)
.setEnablePlaceholders(false)
.build()
LivePagedListBuilder<Int, ContactModel>(
ContactsDataSourceFactory(getApplication(), this.filterText.value ), config).build()
Это код во фрагменте:
private fun observeContacts(){
contactsViewModel.frequentsAndContactsList.observe(viewLifecycleOwner, Observer {
setSearchingStatus(it)
adapter.submitList(it)
recyclerView.adapter = adapter
recyclerView.layoutManager?.smoothScrollToPosition(recyclerView, null, 0)
updateResultsIndicator(it.size)
})
}
private fun updateResultsIndicator(results: Int){
numberOfResults.text = resources.getQuantityString(R.plurals.results, results, results)
}
По-прежнему не отображается общее количество контактов, только контакты, которые адаптер удерживает в текущий момент, но если вы прокрутите вниз, количество результатов будет увеличиваться.
Поэтому я не знаю, на какую переменную нужно указать, чтобы получить все элементы с самого начала.
Спасибо за помощь.