【发布时间】:2019-10-01 15:54:43
【问题描述】:
我有一个回收器视图和一个自定义适配器,我连接了适配器,但我得到“没有连接适配器;跳过布局”
timetableRecyclerView?.apply {
layoutManager = LinearLayoutManager(getContext(), RecyclerView.VERTICAL, false)
// set the custom adapter to the RecyclerView
adapter = timetableAdapter
}
这是我的时间表适配器,我在填充数据的活动的回调中调用填充方法
fun populate(timetable: Timetable) {
timetableList.add(timetable)
notifyDataSetChanged()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val row = LayoutInflater.from(parent.context).inflate(R.layout.timetable_row, parent, false)
return ViewHolder(row)
}
override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
val (type, status, departure, arrival, airline, flight) = timetableList[position]
viewHolder.airline!!.text = airline.name
viewHolder.flightNumber!!.setText(flight.number)
viewHolder.status!!.text = status
when (status) {
"active" -> {
viewHolder.status!!.text = StringUtils.capitalize(status)
viewHolder.flightDepartureStatus!!.setImageResource(R.drawable.green_dot)
return
}
"landed" -> {
viewHolder.status!!.text = StringUtils.capitalize(status)
viewHolder.flightDepartureStatus!!.setImageResource(R.drawable.red_dot)
return
}
else -> {
viewHolder.status!!.text = StringUtils.capitalize(status)
viewHolder.flightDepartureStatus!!.setImageResource(R.drawable.red_dot)
return
}
}
}
override fun getItemCount(): Int {
return timetableList.size
}
}
【问题讨论】:
-
从您发布的代码中不清楚
timetableAdapter是什么。再贴一些代码,让我们了解它的创建方式和时间。 -
@gpunto 请参阅已编辑。
-
timetableAdapter分配在哪里?它不在您发布的代码中 -
您是否调试过应用程序?
timetableRecyclerView和timetableAdapter不为 null 且适配器包含项目吗? -
你确定调用
apply时timetableRecyclerView不为空吗?
标签: android kotlin android-adapter android-recyclerview