Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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
Java 如何自动加载一个弹出窗口,然后在加载区段3秒后自动关闭它?_Java_Android_Android Activity_Android Studio - Fatal编程技术网

Java 如何自动加载一个弹出窗口,然后在加载区段3秒后自动关闭它?

Java 如何自动加载一个弹出窗口,然后在加载区段3秒后自动关闭它?,java,android,android-activity,android-studio,Java,Android,Android Activity,Android Studio,我正在使用名为“导航抽屉活动”的Android Studio模板。它附带一个ActionBar活动和菜单中的3个预加载“部分” 当其中一个部分打开时,我试图创建一个“加载”弹出窗口。为此,我打开菜单并选择section 2 我只能通过使用按钮和onClick操作来解决这个问题。我不想按钮,但我想它自动运行时,该部分被打开,然后解散3秒后。以下是我到目前为止的想法: // get button Button btnShow = (Button)findViewByI

我正在使用名为“导航抽屉活动”的Android Studio模板。它附带一个ActionBar活动和菜单中的3个预加载“部分”

当其中一个部分打开时,我试图创建一个“加载”弹出窗口。为此,我打开菜单并选择section 2

我只能通过使用按钮和onClick操作来解决这个问题。我不想按钮,但我想它自动运行时,该部分被打开,然后解散3秒后。以下是我到目前为止的想法:

// get button
                Button btnShow = (Button)findViewById(R.id.btn_show);
                btnShow.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
                        builder.setTitle("Connecting");
                        builder.setMessage("Please wait while we connect to your devices...");
                        builder.setCancelable(true);

                        final AlertDialog dlg = builder.create();

                        dlg.show();

                        Handler mHandler = new Handler();
                        Runnable mRunnable = new Runnable() {

                            public void run() {
                                if (dlg != null && dlg.isShowing()) dlg.dismiss();
                            }
                        };
                        mHandler.postDelayed(mRunnable, 2000);

                    }
                });
U=试试这个代码

Runnable mRunnable = new Runnable() {    
       public void run() {
          sleep(3000);
          if (dlg != null && dlg.isShowing()) dlg.dismiss();
       }
    };

这似乎是最简单的方法。3000毫秒后打开和关闭

final ProgressDialog progress = new ProgressDialog(this);
    progress.setTitle("Connecting");
    progress.setMessage("Please wait while we connect to devices...");
    progress.show();

    Runnable progressRunnable = new Runnable() {

        @Override
        public void run() {
            progress.cancel();
        }
    };

    Handler pdCanceller = new Handler();
    pdCanceller.postDelayed(progressRunnable, 3000);

你想什么时候打开弹出窗口?@Apurva当该部分打开或单击时。添加此项后,
sleep
出现错误
无法解析方法sleep(int)
这似乎缺少一些信息。。。我想应该是
Thread.Sleep(3000)也会引发中断的异常。这也没有引用任何特定的章节?