我有这段代码:
val page = object : AbstractViewRenderer(this, R.layout.pdf_page) {
private var title: String? = null
override fun initView(view: View) {}
}
现在我要列出object : AbstractViewRenderer(this, R.layout.pdf_page)
的可变列表。
我的意思是这样的:
val page[] : MutableList<object : AbstractViewRenderer> = ...
该怎么做?我该怎么用?
答案 0 :(得分:1)
使用object
expression创建一个一次性的匿名实例。如果要重用其中的逻辑,请为其创建一个类,如下所示:
class MyViewRenderer(ctx: Context, layoutResId: Int) : AbstractViewRenderer(ctx, layoutResId) {
private var title: String? = null
override fun initView(view: View) {}
}
然后您可以创建该类的实例或实例列表:
val page = MyViewRenderer(this, R.layout.pdf_page)
val pages: MutableList<AbstractViewRenderer> = mutableListOf(
MyViewRenderer(this, R.layout.pdf_page),
MyViewRenderer(this, R.layout.pdf_page),
MyViewRenderer(this, R.layout.pdf_page)
)