0

在我的程序中,我同时启动了一个线程和进度对话框。按“返回”后,我想停止线程。但是程序只会停止我的对话框。我尝试了以下代码:

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
        if (runner != null)
            stopThread();
        return true;
    }
    return super.dispatchKeyEvent(event);
}

@Override
public void onBackPressed(){
    if (runner != null)
        stopThread();
}

结果是我只能在没有任何对话框仍在工作时停止线程,我如何“选择”后退动作,或者在对话框关闭的同时如何停止线程?

4

1 回答 1

1

用于setOnCancelListener对话框,或者如果它是自定义对话框,则覆盖OnBackPressed然后停止方法内的线程。

于 2012-09-08T10:13:45.570 回答