airbnb / epoxy

Epoxy is an Android library for building complex screens in a RecyclerView
https://goo.gl/eIK82p
Apache License 2.0
8.46k stars 730 forks source link

setData not updating data #738

Open shimiuh opened 5 years ago

shimiuh commented 5 years ago

after calling setData(data) on TypedEpoxyController the onBind is not getting called

StuStirling commented 5 years ago

Can you provide some more information such as the code you initialise your Controller and set it to the RecyclerView as well as your buildModels code?

shimiuh commented 5 years ago

class EpgFragment: Fragment() {
private lateinit var epgController: EpgController override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) context?.let{epgController = EpgController(it)} recycler_view.setController(epgController)//the RecyclerView is EpoxyRecyclerView } // this methos is called from the viewModel but the onBind dos not get called private fun updateEpgData(state: EpgPageModel?){ Timber.d("update epg data") epgController.setData(state) } }

class EpgController(val context: Context): TypedEpoxyController() {

override fun buildModels(data: EpgPageModel?) { // EpgPageModel hs list of EpoxyModelGroup data?.rowModels?.forEach(::add) }

}