У меня было действие с вычислением, и я для простоты извлек функциональность этого действия в шаблоне MVP:
- CalcActivity
- CalcPresenter
Раньше у меня были все расчеты в одном CalcActivity.Там я сделал несколько вычислений в этом упражнении:
private fun Calculator.doCalculation() {
this.complexCalcualtion(intArrayOf(1, 2, 3, 4, 5, 6), object : CalculationCallback {
override fun onSuccess(result: String) {
runOnUiThread {
result_textview.text = result
}
}
})
}
Весь этот doCalculation()
сделан в другом потоке, я думаю.Я перенес этот метод на докладчика и хотел перенаправить результат для просмотра:
private fun Calculator.doCalculation() {
this.complexCalcualtion(intArrayOf(1, 2, 3, 4, 5, 6), object : CalculationCallback {
override fun onSuccess(result: String) {
view?.showResult(result)
}
})
}
Но посмотреть?никогда не вызывается, поскольку он равен нулю в CalculationCallback.onSuccess()
, и я не вижу там view
.
Также у меня нет доступа к активности там, поэтому я не могу runOnUiThread
там ..
Как я могу переслать свой результат обратно для просмотра / деятельности?