Kotlin - RecyclerView.LayoutManager 问题

问题描述 投票:0回答:6

我正在学习

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".

我不是一个高级程序员,而是一个新手,我一直在尝试修正这个评论,但目前它超出了我的技能范围。

谢谢您的帮助。

android android-recyclerview kotlin
6个回答
0
投票

您可以像下面这样做:

my_recyclerview_id.layoutManager = LinearLayoutManager(this);

这里

"my_recyclerview_id"
是布局 XML 文件中的
recyclerview
id。


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

或更短:

<your recyclerview>.layoutManager = LinearLayoutManager(this)

0
投票

试试这个 第一种方法

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

第二种方法

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

祝 Kotlin 好运


0
投票

无需在 kotlin 中定义“findviewByID”...Android 默认情况下理解所有资源和视图元素。

你可以尝试一下...

仅当您在 kotlin 中使用 RecycleView 时才使用此代码

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

这里rc_all_transaction是Recycleview的ID,剩下的是设置Layout Manager

谢谢


0
投票

有java语言的版本吗?

我的鳕鱼:

userRecyclerView = (RecyclerView) findViewById(R.id.userRecyclerView);
        RecyclerView.LayoutManager layoutManager = new 
                                  LinearLayoutManager(this);
        userRecyclerView.setLayoutManager(layoutManager);

        RecyclerView.Adapter adapter = new Adapter();
        userRecyclerView.setAdapter(adapter);

但它没有发挥应有的作用


-1
投票

Tt 应该是

RecyclerView.layoutManager = LinearLayoutManager(this)
。 小写
l
而不是大写
L

© www.soinside.com 2019 - 2024. All rights reserved.