«Интеллектуальное приведение к« GridLayoutManager »невозможно, поскольку« ViewManager »является изменяемым свойством, которое могло бы измениться к этому времени»
- это ошибка, которую AndroidStudio показывает при попытке добавить разделитель в мой RecyclerView.
PixelsFragment.kt
class PixelsFragment : Fragment() {
private lateinit var recyclerView: RecyclerView
private lateinit var viewManager: RecyclerView.LayoutManager
private lateinit var viewAdapter: RecyclerView.Adapter<*>
private var listener: OnFragmentInteractionListener? = null
private lateinit var pixels: List<Pixel>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
var numberOfColumns = 1
viewManager = GridLayoutManager(this.context, numberOfColumns)
viewAdapter = MyRecyclerViewAdapter(pixels)
recyclerView = view!!.findViewById<RecyclerView>(R.id.RVJanuary).apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = viewAdapter
addItemDecoration(DividerItemDecoration(recyclerView.context, viewManager.getOrientation())) //Error on this line, underlining viewManager
}
}
}
Я нашел этот ответ , в котором говорится, что такая проблема может быть вызвана тем, что к моменту выполнения строки переменная может быть null
, а затем они предоставляют 3 решения. Однако, насколько я понимаю, viewManager
ни в коем случае не может быть null
, поскольку я объявил ее как переменную, не допускающую обнуление. Поэтому я ищу другое объяснение и решение.