i want to try Paging 3 in my android apps. It successed until i get my PagingData<*> list from class PagingDataSource. but every time i called adapter.submitData(it), my adapter class not execute. Please help, where is my mistake? Thank you so much.
this is my code homeFragment.kt to call
private lateinit var webinarListAdapter: myAdapter
fun initAdapter() {
webinarAdapter = myAdapter()
with(recyclerView) {
layoutManager = LinearLayoutManager(requireContext())
adapter = webinarAdapter
adapter = webinarAdapter.withLoadStateHeaderAndFooter(
header = WebinarLoadStateAdapter { webinarAdapter.retry() },
footer = WebinarLoadStateAdapter { webinarAdapter.retry() }
)
}
lifecycleScope.launch {
viewModel.user.collectLatest {
webinarAdapter.submitData(it)
}
}
}```
MyAdapter.kt class
```class myAdapter: PagingDataAdapter<User, UserHolder>(DIFF_CALLBACK) {
override fun onBindViewHolder(holder: UserHolder, position: Int) {
Log.e(TAG, "onBindViewHolder")
holder.onBind(getItem(position)!!)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): UserHolder {
return UserHolder.create(parent)
}
companion object {
private val DIFF_CALLBACK = object : DiffUtil.ItemCallback<User>() {
override fun areItemsTheSame(oldItem: User, newItem: User) =
oldItem.id == newItem.id
override fun areContentsTheSame(oldItem: Taklim, newItem: Taklim) = oldItem == newItem
}
}
}```
after debug more and more i know where is my mistake. my mistake is on my paging data source executed catch exception. so my adapter not executed and my viewmodel not receive any data. Thanks!