У меня есть операция, которую нужно отложить на несколько секунд.Я использую планировщик и таймер следующим образом:
import java.util.Timer
import kotlin.concurrent.timerTask
val timer = Timer()
sliderLastAdjusted = System.currentTimeMillis()
timer.schedule(timerTask {
val newTime = System.currentTimeMillis()
val elapsedTime = newTime - sliderLastAdjusted
if (elapsedTime > 2000) {
masterViewModel.updateLeagueProjections()
}
}, 2000)
Хотя это работает для выполнения команды с отложенным временем и предотвращает выполнение других команд в течение того же периода времени, она использует основной поток - которыйвызывает проблему при обновлении наблюдаемых.
Как я могу заставить это использовать MainThread?