当有对话框时,按“返回”以停止线程

时间:2012-09-08 09:59:52

标签: android dialog

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

@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();
}

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

1 个答案:

答案 0 :(得分:1)

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