Получить значение аутсайдера во внутреннем классе Kotlin - PullRequest
0 голосов
/ 28 февраля 2019

Извините, ребята, я новичок в kotlin, поэтому, пожалуйста, потерпите меня.

У меня есть этот код

 Class A :Basefragment()
    {
        ...

        override fun onOptionsItemSelected(item: MenuItem): Boolean {
            val id = item.itemId

            if (id == R.id.save) {
                val thread = SimpleThread(editTitle.text.toString(), editDescription.text.toString())
                thread.start()
            }
        }

        inner class SimpleThread(title: String, description: String) : Thread() {
            override fun run() {
                var titles = title // how to use title ?
            }

        }
    }

В SimpleThread, как я могу получить значение заголовка?Я получаю неразрешенных ссылок

1 Ответ

0 голосов
/ 28 февраля 2019

Ваш текущий синтаксис передает только title и description в качестве параметров конструктора, которые вы можете использовать для инициализации свойств, или в блоке init:

inner class SimpleThread(title: String, description: String) : Thread() {
    val title = title

    init {
        println(description)
    }
}

Хотя вы можете сохранить ихзначения свойств, как показано выше, вы также можете добавить val или var непосредственно в конструктор, чтобы создать свойства, которые принимают значения параметров конструктора:

inner class SimpleThread(val title: String, val description: String) : Thread() { ... }

Теперь к этим сохраненным свойствам можно получить доступиз любой функции в любое время, а не только при строительстве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...