与新的类Kotlin recyclerView

在mainActivity上用Kotlin创建了一个recyclerView。

它工作得很好。

我想现在将我的代码转移到一个新的类从MainActivity调用该类,并以这种方式激活recyclerView。

在mainActivity中调用该类,但是显然这还不够…

var newClass: NewClass = NewClass() 

如何使用recyclerView调用类或如何激活它?

添加了newClass的调用。 想要删除所有这些行。

谢谢

这是我在onCreate上的代码:

 enter code here var newClass: NewClass = NewClass() rowsList = ArrayList() layoutManager = LinearLayoutManager(this) adapter = RowListAdapter(rowsList!!, this) rowsListRv.layoutManager = layoutManager rowsListRv.adapter = adapter //load data var model = TableViewModel() var dataFromModel: ArrayList = model.getData() for (i in 0..dataFromModel.size - 1) { val rowFromModel = RowFromModel() rowFromModel.row = dataFromModel.get(i) rowsList!!.add(rowFromModel) } adapter!!.notifyDataSetChanged() enter code here 

One Solution collect form web for “与新的类Kotlin recyclerView”

问题是NewClass需要一些方法来知道recyclerViewContext (或Activity)的工作,所以他们应该被传递给类。 您可以通过执行以下操作来完成此操作

 class NewClass (val recyclerView: RecyclerView, val context: Context) { val rowsList = ArrayList() val layoutManager = LinearLayoutManager(context) val adapter = RowListAdapter(rowsList, context) // load data var model = TableViewModel() var dataFromModel: ArrayList = model.data val rowFromModel = RowFromModel() init { // this will be called after the constructor is called recyclerView.layoutManager = layoutManager recyclerView.adapter = adapter for (i in 0..dataFromModel.size - 1) { val rowFromModel = RowFromModel() rowFromModel.row = dataFromModel[i] rowsList.add(rowFromModel) } adapter.notifyDataSetChanged() } } 

然后在您的MainActivityonCreate() ,您可以执行以下操作

 var newClass: NewClass = NewClass(rowsListRv, this) 

希望这可以帮助!

  • Kotlin插件错误:无法为类org.jetbrains.kotlin.gradle.tasks.KotlinCompile生成代理类
  • 在eclipse上的Kotlin类表现怪异,每当我运行我从其他文件输出的程序
  • 这些定义函数的方法有什么区别?
  • 如何在我的Kotlin类中创建一个匿名接口实现并使用它?
  • Kotlin应用程序生成失败,由于“无法初始化类com.intellij.ide.highlighter.JavaFileType”
  • 颠倒中缀布尔结果kotlin
  • LiveData观察者的Kotlin语法?
  • Kotlin中的有什么不同?
  • 我怎样才能重写一个java方法,并改变参数的可空性?
  • Kotlin迭代器列表?
  • 如何在应用程序中打开浏览器中与webview url无关的链接
  • Kotlin language will be the best programming language for Android.