我正在尝试在Kotlin的后台线程中更新recycler视图内容。我没有使用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()