变量被声明为var,但编译器正在说val

编译器给我错误

错误:(97,17)Val不能被重新分配

但该变量被声明为var

编辑:你可以在我的代码中看到评论。 当我分配rcv = recyclerView
chkStrictSearch =复选框我在这里得到红色下划线与上面的错误消息工具提示

以下是我的代码:

 private var rcv: RecyclerView? = null private var chkStrictSearch: android.widget.CheckBox? = null private fun getMainView(): View{ return with(context){ frameLayout{ lparams(width = matchParent, height = matchParent) //Error is below - val cannot be reassign rcv = recyclerView{ lparams(width = matchParent, height = matchParent) setPadding(0, resources.getDimension(R.dimen.toolbar_height).toInt(), 0, dip(48)) clipToPadding = false } //and here - val cannot be reassign chkStrictSearch = checkBox{ text = "Strict Search" }.lparams(width = wrapContent, height = wrapContent){ marginEnd = dip(24) bottomMargin = dip(50) gravity = Gravity.BOTTOM } } } } 

看起来像静态代码分析中的一个错误,或者可能是由增量编译引起的。 尝试重建/清理项目。

或者试试这个:

 private fun getMainView(): View { return with(context) { frameLayout { rcv = null } } } 

如果编译现在可用,请添加原始代码并重新编译。