【发布时间】:2026-02-14 13:35:01
【问题描述】:
我试图从 Kotlin 的后台线程更新回收站视图内容。我没有使用 AsyncTask。
这是我的代码,我想知道是否有比这更好的方法:
在我的 MainActivity 中,我将 progressThread 作为成员变量。
var progressThread = Thread()
然后在我想首先运行线程的方法中定义它......就像
progressThread = Thread (
Runnable {
kotlin.run {
try {
while (i <= 100 && !progressThread.isInterrupted) {
Thread.sleep(200)
//Some Logic
runOnUiThread {
//this runs in ui thread
}
i++
}
}catch (e:InterruptedException){
progressThread.interrupt()
}
}
})
之后我用同样的方法启动它
progressThread.start()
为了停止它,我有一个监听器来取消进度,在那个监听器的回调中,我写了:
progressThread.interrupt()
【问题讨论】:
标签: multithreading kotlin runnable