如何在 Android 上停止 Kotlin 协程?

Min*_*gdi 9 android kotlin kotlin-coroutines

如果用户按下按钮,我试图停止协程。但是,当我这样做时:

GlobalScope.launch(Dispatchers.Main) {
     //code
}

button.setonclicklistener(){
    GlobalScope.cancel()
}
Run Code Online (Sandbox Code Playgroud)

应用程序崩溃。我怎样才能解决这个问题?

Fra*_*esc 16

像这样改变它

var job: Job? = null


job = GlobalScope.launch(Dispatchers.Main) {
    //code
}

button.setonclicklistener(){
    job?.cancel()
}
Run Code Online (Sandbox Code Playgroud)