当前位置: 首页 > 知识库问答 >
问题:

出现对话框时,按“返回”停止线程

皮献
2023-03-14

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

@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个答案

盛骏祥
2023-03-14

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

 类似资料:
  • 我目前正在处理一个Android项目,当用户在使用对话框主题的活动上按后退按钮时,我遇到了问题。 基本上,我有一个活动,让我们称之为我的活动,第二个活动使用@android: style/Theme.Holo.Dialog称为MyDialog。 当MyDialog活动显示在屏幕上时,活动对话框在对话中按预期启动,但当用户按下返回按钮时,对话框活动按预期关闭,但启动活动即MyActive似乎结束了,

  • 本文向大家介绍Android AlertDialog实现分享对话框/退出对话框/下载对话框,包括了Android AlertDialog实现分享对话框/退出对话框/下载对话框的使用技巧和注意事项,需要的朋友参考一下 一.摘要 弹窗通常用于提示用户进行某种操作,比如:点击分享按钮,弹窗分享对话框;双击返回按钮,弹窗退出对话框;下载文件,提示下载对话框等等,分享对话框/退出对话框/下载对话框,都可以直

  • 问题内容: 我有一个EditText用于输入的对话框。当我单击对话框上的“是”按钮时,它将验证输入,然后关闭对话框。但是,如果输入错误,我希望保留在同一对话框中。每次无论输入什么,当我单击“否”按钮时,都应自动关闭对话框。如何禁用此功能?顺便说一句,我在对话框上的按钮上使用了PositiveButton和NegativeButton。 问题答案: 编辑:这仅在API 8+上有效,如某些注释所述。

  • 问题内容: 我有一个自定义对话框,当我尝试获取EditText的值时,它返回null。 该行返回null 这是完整的代码。 问题答案: 尝试这个: 你必须告诉在哪个视图中找到ID。否则,它将尝试通过xml布局(通常在中声明)夸大视图中的ID。

  • 我对JSONPath的工作有意见。我有两个非常相似的json对象,我正试图从中获取值。 本质上,对象大致看起来像这样: 我的问题是我需要运行这两条路径。对于Object2,这不会引起任何问题,因为第一个jsonpath不返回任何内容。 但是,对于object1,jsonpath 1返回所需的值。但是,对于该记录,jsonpath2还返回值Object。 有没有办法阻止这种事情发生?我需要两个jso

  • Logcat: 致命异常:IntentService[BMI]进程:用户。通用域名格式。test2,PID:3377 java。lang.NullPointerException:尝试调用虚拟方法“java”。字符串java。朗,反对。服务上的空对象引用上的toString()。SendBpRecordServer。android上的onHandleIntent(sendbRecordServer