Определить MutableList объекта - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть этот блок кода:

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 голосов
/ 08 сентября 2018

Использование выражения object создает одноразовый анонимный экземпляр. Если вы хотите повторно использовать логику внутри нее, создайте для нее класс, что-то вроде этого:

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)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...