Я хочу связать данные как с деятельностью, так и с обзором переработчика. Но я получаю эту ошибку для представления переработчика. E / RecyclerView: адаптер не подключен; Пропуск макета
Сняв код для привязки данных активности, перезапускает обзор.
Activity.kt
class MainActivity : AppCompatActivity(), IActivity {
private lateinit var mIMainPresenter: IPresenter
private lateinit var mMainAdapter: MainAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mIMainPresenter = MainPresenter(this)
mIMainPresenter.getList()
}
/**
* setup UI widgets
*/
private fun setupList() {
val mLayoutManager = LinearLayoutManager(this)
mMainAdapter = MainAdapter(mIMainPresenter)
recyclerList.layoutManager = mLayoutManager
recyclerList.adapter = mMainAdapter
recyclerList.addItemDecoration(DividerItemDecoration(this, VERTICAL))
refresh_layout.setOnRefreshListener {
fetch(null)
refresh_layout.isRefreshing = false
}
}
/**
* fetches list from
*/
override fun fetch(view: View?) {
mIMainPresenter.getList()
}
/**
* sets the list items once data is fetched from network/database
*/
override fun setEvents(result: List<Events>) {
setupList()
mMainAdapter.setList(result)
mMainAdapter.notifyDataSetChanged()
}
override fun setPrompts(result: List<Prompts>) {
val binding: ActivityMainBinding = DataBindingUtil.setContentView(
this, R.layout.activity_main)
binding.prompt = result[0]
}
}
Adapter.kt
class MainAdapter(private val mIClick: IClick) : RecyclerView.Adapter<MainAdapter.AutoViewHolder>() {
private var events: List<Events> = listOf()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AutoViewHolder {
val inflater = LayoutInflater.from(parent.context)
val binding = DataBindingUtil.inflate<ListMainBinding>(inflater, R.layout.list_main, parent, false)
return AutoViewHolder(binding)
}
override fun onBindViewHolder(holder: AutoViewHolder, position: Int) {
val event = events.get(position)
val binding = holder.listMainBinding;
binding?.events = event
binding?.iClick = mIClick
binding?.executePendingBindings()
}
override fun getItemCount(): Int {
return events.size
}
fun setList(result: List<Events>) {
events = result
}
inner class AutoViewHolder : RecyclerView.ViewHolder {
var listMainBinding: ListMainBinding? = null
constructor(binding: ListMainBinding?) : super(binding?.root) {
listMainBinding = binding
}
}
}