dialog-在固定时间后关闭对话框

问题描述

在固定时间后关闭对话框

应用中包含一个对话框。

我想要在x秒后自动关闭这个对话框。前提是如果这段时间用户对应用没有任何操作。

类似弹出的音量拖动条(两秒钟用户没有操作就自动关闭)。

不知道怎么实现?请高手指点,谢谢。

解决方案

// a dialog
final Dialog dialog = new Dialog(getApplicationContext());

// the code inside run() will be executed if .postDelayed() reaches its delay time
final Runnable runnable = new Runnable() {

    @Override
    public void run() {
        dialog.dismiss(); // hide dialog
    }
};

Button interaction = (Button) findViewById(R.id.bottom);

final Handler h = new Handler();

        // pressing the button is an "interaction" for example
interaction.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        h.removeCallbacks(runnable); // cancel the running action (the hiding process)
        h.postDelayed(runnable, 5000); // start a new hiding process that will trigger after 5 seconds
    }
});

追踪用户动作

@Override
public void onUserInteraction(){
    h.removeCallbacks(runnable); // cancel the running action (the hiding process)
    h.postDelayed(runnable, 5000); // start a new hiding process that will trigger after 5 seconds
}

解决方案二:

用个TimerTask,秒数++,增加到2秒就关闭,同时检测touch事件,一有触摸就恢复秒数为0,两边协调一下

时间: 2024-10-02 07:04:36

dialog-在固定时间后关闭对话框的相关文章

等待指定时间后自动跳转或关闭当前页面的js代码

本文为大家详细介绍下如何通过js实现等待指定时间后自动跳转或关闭当前页面的脚步代码,感兴趣的朋友可以参考下哈,希望对大家有所帮助   复制代码 代码如下: //指定时间之后跳转 <script language="javascript"> function go( ) {//定义函数 window.location="main.html";//页面跳转 } window.setTimeout("go()",1000);//1秒后执行函

jQuery UI Dialog 创建友好的弹出对话框实现代码_jquery

主要参数 jQuery UI Dialog常用的参数有: 1.autoOpen:默认true,即dialog方法创建就显示对话框 2.buttons:默认无,用于设置显示的按钮,可以是JSON和Array形式: {"确定":function(){},"取消":function(){}} [{text:"确定", click: function(){}},{text:"取消",click:function(){}}] 3.mod

js Dialog 去掉右上角的X关闭功能_javascript技巧

再用到 dialog弹出框时,不想要右上角的X 关闭功能,只是做个提示信息显示. 在网上找了一些资料.网上找了三种解决方案:[第一种是可用的.] 1. 复制代码 代码如下: $("#div1").dialog({ closeOnEscape:false, open:function(event,ui){$(".ui-dialog-titlebar-close").hide();} }); 不希望用户通过jquery dialog 提供的x按钮关闭弹出框,这种方法的作

程序运行一段时间后,界面不刷新 mfc

问题描述 程序运行一段时间后,界面不刷新 mfc 用vc2008做的程序,在自建的线程里,处理蓝牙虚拟串口通信的接收数据和实时显示! 发现程序跑40分钟左右后,界面变灰!但程序没死,数据通信显示正常.其他控件就没了.移动鼠标可以看到,也可以操作!感觉就是主界面不重绘了!如图: 程序运行时看任务管理器的内存,也不大!应该不是内存泄漏的问题 找不出原因了!网上用PeekMessage的方法试了,还是没用!谁能帮忙给个解答! 这个线程机制以前用串口通信和usb虚拟串口通信都是正常的,没出现过这个问题!

花3分钟时间来关闭你电脑上没用的服务(加快你的电脑运行)_DOS/BAT

[推荐]花3分钟时间来关闭你电脑上没用的服务(加快你的电脑运行) 花3分钟时间来关闭你电脑上没用的服务,让你的电脑百毒不侵.提速百倍(^0^)!  可能有很多朋友还不知道如何启动服务选项:在控制面板→管理工具→服务:指着建议为"已停用"的服务属性改成"已禁用"并按停止即可:     Alerter  微软: 通知选取的使用者及计算机系统管理警示.如果停止这个服务,使用系统管理警示的程序将不会收到通知.如果停用这个服务,所有依存于它的服务将无法启动.  补充: 一般家

Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框

本文为原创,如需转载,请注明作者和出处,谢谢!     众所周知,AlertDialog类用于显示对话框.关于AlertDialog的基本用法在这里就不详细介绍了,网上有很多,读者可以自己搜索.那么本文要介绍的是如何随心所欲地控制AlertDialog.     现在我们来看看第一个需求:如果某个应用需要弹出一个对话框.当单击"确定"按钮时完成某些工作,如果这些工作失败,对话框不能关闭.而当成功完成工作后,则关闭对话框.当然,无论何程度情况,单击"取消"按钮都会关闭

如何设置电脑在某个或一段时间后自动关机

我们可以设置一段时间后自动关机,不用守护在电脑旁.全部自己作图打字哦. 点击"开始"--"运行". 输入"at 20:00 Shutdown -s",表示让电脑在20:00自动关机,要让电脑在其他的时间点自动关机,只需把20:00换成其他的时间就可以了,点击"确定". 电脑弹出一个黑色的对话框后马上会自动关闭,等到20:00的时候会弹出一个对话框,提示"您将要被注销,Windows 将在一分钟内关闭". 如

Win8系统设置锁屏时间后屏幕自动关闭怎么解决?

  Win8系统设置锁屏时间后屏幕自动关闭怎么解决? 1.在Win8系统,按住Win+R键调出运行对话框,然后在运行窗口上输入regedit命令,打开注册表; 2.在注册表上,从左侧菜单栏中的找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPowerPowerSettings7516b95f-f776-4464-8c53-06167f40cc998EC4B3A5-6868-48c2-BE75-4F3044BE88A7项, 3.然后在右侧窗格中找

电脑开机使用一段时间后就会变得卡顿怎么解决?

  相信大家都碰到过:电脑在一天之中使用一段时间就会变得卡顿的问题.这是因为开机使用过程中,电脑里面会不断存储许多相关数据和垃圾文件,时间长了之后越来越多,由此影响电脑运行速度.碰到这种情况,我们应该怎么办呢?下面小编就为大家介绍一下,来看看吧! 优化 首先,解决这种情况,最直接的办法就是重启电脑,重启后电脑会释放那些缓存和垃圾文件!电脑也就不还出现卡顿了. 今天主要是向大家介绍第二种方法 遇到上述情况,有时候我们不愿意去重启电脑,感觉很麻烦,时间很长!那我们怎么在不重启电脑的情况下解决这个问题