В Kotlin, как работает конструктор с анонимным классом? - PullRequest
0 голосов
/ 30 ноября 2018

Рассмотрим функциональность F, которая зависит от методов жизненного цикла Android.Я реализовал эту функциональность в Деятельности А. Любая другая деятельность, которая хочет реализовать эту функциональность, может просто расширить А. Результаты отправляются дочернему действию через интерфейс.Пример:

// interface
interface ACallbacks {
     fun onResult(string: String)
}

// Activity A
open class AActivity
(private val aCallbacks: ACallbacks): AppCompatActivity() {
     // functionality F, which depends on Android lifecycle methods
}

// Activity B
class BActivity: AActivity(object: ACallbacks {
    override fun onResult(string: String) {
         // Q: how to use string in BActivity?
    }
}) {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_b)
    }
}

Как получить доступ к результату из действия A (то есть, string) в действии B. Например, как мне установить его в textView, представленном в действии B?

1 Ответ

0 голосов
/ 04 декабря 2018

Если BActivity наследует от AActivity - внутри BActivity вы можете получить то, что вы хотите:

override fun someFun(): String {
    val parentResult = super.someFun()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...