Android 如何使用kotlin将layoutmanager设置为RecycleView

Android 如何使用kotlin将layoutmanager设置为RecycleView,android,kotlin,Android,Kotlin,如何使用kotlin作为java代码将layoutmanager设置为RecycleView,如下所示: mRecyclerView.setLayoutManager(mLinearLayoutManager); binding.recyclerView.setHasFixedSize(true) binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)

如何使用kotlin作为java代码将layoutmanager设置为RecycleView,如下所示:

mRecyclerView.setLayoutManager(mLinearLayoutManager);
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
你可以用

recyclerView.layoutManager = LinearLayoutManager(context) // default orientation is vertical

// if you want horizontal recyclerview
// recyclerView.layoutManager = LinearLayoutManager(this, RecyclerView.HORIZONTAL, false)
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
你可以这样做

val linearLayoutManager = LinearLayoutManager(this)
linearLayoutManager.orientation = LinearLayoutManager.VERTICAL
recyclerview!!.layoutManager = linearLayoutManager
recyclerview!!.isNestedScrollingEnabled = true
recyclerview!!.setHasFixedSize(true)
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

只需编写此命令即可设置
LayoutManager

 // Define this globally
 lateinit var recyclerView: RecyclerView

 // Initialize this after `activity` or `fragment` is created
 recyclerView = findViewById(R.id.recyclerView) as RecyclerView

 recyclerView.setHasFixedSize(true)
 recyclerView.layoutManager = LinearLayoutManager(activity!!) as RecyclerView.LayoutManager
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

我也有同样的问题,原因是我把recyclerView初始化为

var recyclerView = findViewById<View>(R.id.recycleView)
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
var recycleView=findViewById(R.id.recycleView)
确保按如下方式初始化

var recyclerView = findViewById<View>(R.id.recycleView) as RecyclerView
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
var recyclerView=findViewById(R.id.recyclereview)作为recyclerView

在应用程序构建中应用插件

 apply plugin: 'kotlin-android-extensions'
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
对于我的案例视图,
RecyclerView
的id是
my\u recycler\u视图

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
在java文件中写入-

my_recycler_view.layoutManager = LinearLayoutManager(context)
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

默认情况下,
LinearLayoutManager(上下文)
将设置垂直方向,并根据需要进行更新。

recyclerView.layoutManager=LinearLayoutManager(上下文)
binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

recyclerView.layoutManager=GridLayoutManager(上下文,spanCount)

您可以使用此代码设置:

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

以下两行将方向设置为垂直方向

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
设置水平方向

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
要设置网格布局

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
mRecyclerView.layoutManager = GridLayoutManager(this, spanCount)

mRecyclerView?.layoutManager=LinearLayoutManager(活动)

您可以尝试使用以下解决方案

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
val mRecyclerView= v.findViewById<RecyclerView>(R.id.rec) //id RecyclerView    
mRecyclerView.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false)
val mRecyclerView=v.findViewById(R.id.rec)//id RecyclerView
mRecyclerView.layoutManager=LinearLayoutManager(这是LinearLayoutManager.HORIZONTAL,false)

对AndroidX使用RecyclerView.HORIZONTAL而不是LinearLayoutManager.HORIZONTAL

binding.recyclerView.setHasFixedSize(true)
binding.recyclerView.layoutManager = LinearLayoutManager(this ,LinearLayoutManager.VERTICAL ,false)
binding.recyclerView.adapter = customAdapter(this ,getList())
var vegetableList: RecyclerView = findViewById(R.id.list_vegetable)
            vegetableList.layoutManager = LinearLayoutManager(this,
            RecyclerView.HORIZONTAL, false)

recyclerView.layoutManager=mlinearLayoutManager此答案提供的移动信息不超过已给出的答案。