与新的类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
问题是NewClass
需要一些方法来知道recyclerView
和Context
(或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() } }
然后在您的MainActivity
的onCreate()
,您可以执行以下操作
var newClass: NewClass = NewClass(rowsListRv, this)
希望这可以帮助!
- 如何通过意图在kotlin传递自定义对象
- Kotlin Null安全警告意外令牌(使用;在同一行上分隔expression式)
- Android Leanback库HorizontalGridView的scrollToPosition不起作用
- 在android studio中用c ++编写应用程序?
- 如何获取Android Path字符串到资产文件夹上的文件?
- 不能用Volley发送多部分/表格数据
- 新的建筑与匕首和Kotlin
- Realm&Kotlin:DefaultRealmModuleMediator.java – > error:unreachable statement
- Realm插件导致“app:compileInstantrunconfigDebugKotlin”任务失败