定义对象的MutableList

时间:2018-09-08 07:49:05

标签: android kotlin

我有这段代码:

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> = ...

该怎么做?我该怎么用?

1 个答案:

答案 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)
)