Kotlin - проблема с RecyclerView.LayoutManager

Я изучаю Kotlin и Adroid Studio, а недавно застрял на RecyclerView.

Проблема в том, что я не могу двигаться дальше из-за ошибки, отображаемой на LayoutManager.

Мой маленький код выглядит так:

 package com.example.julian.recyclerviewapplication

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        RecyclerView.LayoutManager=LinearLayoutManager(this)

    }
}

LayoutManager подчеркнут и сообщает мне, что: "

Classifier 'LayoutManager' does not have a companion object, and thus must be initalized here".

Я не продвинутый программист, скорее новичок, и я пытался исправить это замечание, но на данный момент это выходит за рамки моих навыков.

Спасибо за помощь.

это val layoutManager = LinearLayoutManager(this)

EpicPandaForce 17.10.2018 11:54
0
1
2 035
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

val layoutManager = LinearLayoutManager(this)
<your recyclerview>.layoutManager = layoutManager

Или даже короче:

<your recyclerview>.layoutManager = LinearLayoutManager(this)
Ответ принят как подходящий

Вы можете сделать так, как показано ниже:

my_recyclerview_id.layoutManager = LinearLayoutManager(this);

Здесь "my_recyclerview_id" - это ваш идентификатор recyclerview из XML-файла макета.

Попробуй это 1-й способ

val layoutManager = LinearLayoutManager(applicationContext)
your_recyclerview_id!!.layoutManager = layoutManager
your_recyclerview_id!!.adapter = Your_adapter(applicationContext)

2-й способ

 your_recyclerview_id!!.layoutManager=LinearLayoutManager(applicationContext)
 your_recyclerview_id!!.adapter = Your_adapter(applicationContext);
 your_recyclerview_id!!.adapter.notifyDataSetChanged()

Удачи с Котлином

Нет необходимости определять findviewByID в kotlin ... Android по умолчанию понимает все ресурсы и элементы представления.

можешь попробовать...

Используйте этот код только при работе с RecycleView в котлине.

 rc_all_transaction.setLayoutManager(LinearLayoutManager(activity, 
   LinearLayoutManager.VERTICAL, true))

здесь rc_all_transaction - это идентификатор Recycleview, а остальные - это настройка Layout Manager

Спасибо

Это должно быть RecyclerView.layoutManager = LinearLayoutManager(this). l в нижнем регистре и L в верхнем регистре.

Другие вопросы по теме