Получение общего количества элементов страничного списка на 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)
}

По-прежнему не отображается общее количество контактов, только контакты, которые адаптер удерживает в текущий момент, но если вы прокрутите вниз, количество результатов будет увеличиваться.

Поэтому я не знаю, на какую переменную нужно указать, чтобы получить все элементы с самого начала.

Спасибо за помощь.

0 ответов

Другие вопросы по тегам