【发布时间】:2019-02-02 00:00:14
【问题描述】:
在设置我的RecyclerView 的layoutManager 和adpater 时,我收到此错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.recyclerview.widget.RecyclerView.setLayoutManager(androidx.recyclerview.widget.RecyclerView$LayoutManager)' on a null object reference
这是我的自定义 RecyclerView.Adapter 的 sn-p。我想在不可滚动的地方放置一个嵌套的RecyclerView,大小取决于里面的元素。上下文是在创建 ViewHolder 时设置的,我需要将其传递给我的内部 RecyclerView。
//...
private lateinit var context: Context
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): ViewHolder {
context = parent.context
val view = LayoutInflater.from(context)
.inflate(R.layout.date_card, parent, false)
return ViewHolder(view)
}
override fun getItemCount() = data.size
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val dateItem = data[position]
with(holder.itemView) {
tv_day.text = dateItem.getDayOfMonth()
tv_day2.text = dateItem.getDayName(resources)
rv_overview.apply {
layoutManager = LinearLayoutManager(this@DateAdapter.context)
adapter = PlanAdapter(dateItem.planItems)
setHasFixedSize(false)
}
}
}
我有什么遗漏的吗?
【问题讨论】:
-
你能把你的
ViewHolder和布局包括进去吗? -
您的
RecyclerView为空,因为错误状态,适配器对于这个问题是无关紧要的 -
请贴出recyclerView实例化代码。
标签: android kotlin android-recyclerview adapter nestedrecyclerview