【问题标题】:Unable to initialize a RecyclerView: null object reference无法初始化 RecyclerView:空对象引用
【发布时间】:2019-02-02 00:00:14
【问题描述】:

在设置我的RecyclerViewlayoutManageradpater 时,我收到此错误:

   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


【解决方案1】:

没关系,我修好了!原来嵌套的 recyclerview 没有 id。一旦我设置了 id 并引用了它,代码就可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 2013-06-27
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多