我正在学习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".
我不是高级程序员,而是新手,我一直在试图解决此问题,但此刻它超出了我的能力。
谢谢您的帮助。
答案 0 :(得分:0)
val layoutManager = LinearLayoutManager(this)
<your recyclerview>.layoutManager = layoutManager
或更短:
<your recyclerview>.layoutManager = LinearLayoutManager(this)
答案 1 :(得分:0)
您可以执行以下操作:
my_recyclerview_id.layoutManager = LinearLayoutManager(this);
"my_recyclerview_id"
是您的布局XML文件中的recyclerview
ID。
答案 2 :(得分: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交好运
答案 3 :(得分:0)
无需在kotlin中定义'findviewByID'... Android默认情况下可以理解所有资源和View元素。
您可以尝试...
仅在Kotlin中使用RecycleView时使用此代码
rc_all_transaction.setLayoutManager(LinearLayoutManager(activity,
LinearLayoutManager.VERTICAL, true))
此处rc_all_transaction是Recycleview的ID,其余的是设置布局管理器
谢谢
答案 4 :(得分:-1)
Tt应该为RecyclerView.layoutManager = LinearLayoutManager(this)
。
小写的l
而不是大写的L
。