#android #kotlin #kotlin-coroutines #kotlinx.coroutines.flow
Вопрос:
Я пытаюсь сделать приложение с бесплатными ошибками, но я замечаю, что
Поток<Данные по страницам>
если я нажму на него в первый раз без Интернета, я не смогу нажать на него снова.
Поэтому мой вопрос в том, как снова включиться в поток в любое время, когда я захочу,
вот некоторые из моих кодов:-
Мой Фрагмент:
override fun setBindingVariables() {
binding.viewModel = viewModel
// I have a fotter to keep loading the data in the recycler
// when the internet comes back BUT the first hit SHOULD be with Internet
binding.adapter.adapter = redditPostsAdapter.withLoadStateFooter(
footer = SampleLoadStateAdapter { redditPostsAdapter.retry() }
)
}
override fun setUpViewAndActions() {
lifecycleScope.launch(Dispatchers.Main) {
viewModel.state.collect {
redditPostsAdapter.apply {
submitData(it)
}
}
}
Моя модель просмотра:
var state: Flow<PagingData<ServicesProviderModel>> =
repository.getServicesProviders().cachedIn(viewModelScope)
и, наконец,
Мое Репо:
override fun getServicesProviders(): Flow<PagingData<ServicesProviderModel>> =
Pager(
PagingConfig(pageSize = 5),
pagingSourceFactory = { homeRemotePageSource },
).flow