我正在学习
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".
我不是一个高级程序员,而是一个新手,我一直在尝试修正这个评论,但目前它超出了我的技能范围。
谢谢您的帮助。
您可以像下面这样做:
my_recyclerview_id.layoutManager = LinearLayoutManager(this);
这里
"my_recyclerview_id"
是布局 XML 文件中的 recyclerview
id。
val layoutManager = LinearLayoutManager(this)
<your recyclerview>.layoutManager = layoutManager
或更短:
<your recyclerview>.layoutManager = LinearLayoutManager(this)
试试这个 第一种方法
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 好运
无需在 kotlin 中定义“findviewByID”...Android 默认情况下理解所有资源和视图元素。
你可以尝试一下...
仅当您在 kotlin 中使用 RecycleView 时才使用此代码
rc_all_transaction.setLayoutManager(LinearLayoutManager(activity,
LinearLayoutManager.VERTICAL, true))
这里rc_all_transaction是Recycleview的ID,剩下的是设置Layout Manager
谢谢
有java语言的版本吗?
我的鳕鱼:
userRecyclerView = (RecyclerView) findViewById(R.id.userRecyclerView);
RecyclerView.LayoutManager layoutManager = new
LinearLayoutManager(this);
userRecyclerView.setLayoutManager(layoutManager);
RecyclerView.Adapter adapter = new Adapter();
userRecyclerView.setAdapter(adapter);
但它没有发挥应有的作用
Tt 应该是
RecyclerView.layoutManager = LinearLayoutManager(this)
。
小写 l
而不是大写 L
。