Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的自动对话框关闭_Android_View_Dialog_Dismiss - Fatal编程技术网

Android中的自动对话框关闭

Android中的自动对话框关闭,android,view,dialog,dismiss,Android,View,Dialog,Dismiss,我正在创建一个Android应用程序,在其中我正在管理一些剩余部分。我希望在某个事件发生时显示对话框,这不是我的问题。但我希望,如果用户在两分钟内没有做出任何响应,对话框将自动关闭。如何实现这一点?您应该能够使用计时器实现这一点: stackoverflow链接描述了如何使用它来运行重复的任务,但您也可以使用它来运行一次性任务 static AlertDialog alert = ....; alert.show(); Runnable dismissRunner = new Runn

我正在创建一个Android应用程序,在其中我正在管理一些剩余部分。我希望在某个事件发生时显示对话框,这不是我的问题。但我希望,如果用户在两分钟内没有做出任何响应,对话框将自动关闭。如何实现这一点?

您应该能够使用计时器实现这一点:

stackoverflow链接描述了如何使用它来运行重复的任务,但您也可以使用它来运行一次性任务

static AlertDialog alert = ....;


alert.show();

Runnable dismissRunner = new Runnable() {
    public void run() {
        if( alert != null )
            alert.dismiss();            
    };
new Handler().postDelayed( dismissRunner, 120000 );

不要忘记在常规对话框中关闭代码(即,单击按钮)。

编写一个线程,该线程可能在显示dailog后运行两分钟。。。如果用户没有做出任何响应,请使用disclose()关闭对话框。。。在驳回之前,我认为最好检查dialog对象是否为null。如果它为空,我认为你不需要忽略它,如果不忽略它,请尝试在代码中添加一些描述。你的代码是做什么的?
final Timer t = new Timer();
                t.schedule(new TimerTask() {
                    public void run() {
                        alert.dismiss(); 
                        t.cancel(); 
                    }
                }, 2000);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(R.string.game_message);
        game_message = builder.create();
        game_message.show();


        final Timer t = new Timer();
        t.schedule(new TimerTask() {
            public void run() {
                game_message.dismiss(); // when the task active then close the dialog
                t.cancel(); // also just top the timer thread, otherwise, you may receive a crash report
            }
        }, 5000);