Hallo teman-teman semua, kali ini kita akan membahas bagaimana cara menambahkan style page pada list dengan RecyclerView dan juga PagingData. Tentu saja caranya berbeda dengan yang lainnya, karena kita akan bermain di adapter.

Coba perhatikan code berikut ini :

lifecycleScope.launch {
            surveyAdapter.loadStateFlow.collectLatest { loadStates ->
                val loadState: LoadStates = loadStates.source
                when (loadState.refresh) {
                    is LoadState.NotLoading -> {
                        // selesai
                    }
                    is LoadState.Loading -> {
                        // onprogress
                    }
                    is LoadState.Error -> {
                        // error}
                }
            }
        }

Fungsi loadStateFlow merupakan fungsi turunan dari pagingData, jadi kamu bisa copas saja code diatas dan sesuaikan dengan kebutuhaan kamu.

lifecycleScope.launch {
            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.CREATED) {
                viewModel.getSurveyList(
                    storeId = outletId,
                )
                    .collectLatest {
                        surveyAdapter.submitData(it)
                    }
            }
        }

Kamu tidak akan pernah bisa jika ingin mengecek nilai null setelah .coolectLatest {} karena ini adalah pagingData.

Gimana? cukup paham ya dengan base codenya.

Categorized in:

Tagged in:

,