Я знаю, что AsyncTask может быть запущен только один раз. Я знаю способ обойти это, но мне нужна переменная из AsyncTask, которая использует сложные (?) Процессы. Это мой код для вызова AsyncTask
val thr=NewTask()
thr.delegate = this
button.setOnClickListener {
thr.execute()
}
NewTask.doOnBackground () - это обычный метод, отправляющий запрос на URL. onPostExecute () немного отличается:
public override fun onPostExecute(result: String?) {
//super.onPostExecute(result)
delegate!!.processFinish(result!!)
}
с делегатом, являющимся переменной AsyncResponse? это интерфейс, содержащий абстрактный метод processFini sh, который принимает строку и ничего не возвращает.
Мой вопрос: как я могу запускать AsyncTask несколько раз, все еще получая ответ? Заранее спасибо.