java - 如何添加一个旋转样式的进程对话框 5 秒

标签 java android

在下面的代码中,我希望在用户单击“检查根目录”后有一个旋转样式的进程对话框 5 秒钟。基本上,用户点击按钮后,进程对话框会显示“请稍候...”5 秒钟,然后显示结果。 我怎么做 ?请帮忙!

Button Root = (Button) findViewById(R.id.Root);
    Root.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            if (RootTools.isAccessGiven()) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setTitle("Congratulations!");
                    builder.setMessage("You Have Root Access!");

                    builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });

                    AlertDialog dialog = builder.create();
                    dialog.show();
                }

            else  {
                 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setTitle("Oops!");
                    builder.setMessage("No Root Access!");
                    builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                            dialog.cancel();
                        }
                    });

                    AlertDialog dialog = builder.create();
                    dialog.show();  
            }
        }

最佳答案

private Handler mTimerHandler = new Handler();
private ProgressDialog mProgressDialog = null;
private Button Root;


@Override
protected void onCreate(Bundle savedInstanceState) {

    ...........

    Root = (Button) findViewById(R.id.Root);
    Root.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            mProgressDialog = ProgressDialog.show(MainActivity.this, "", "Please wait...", true);

            mTimerHandler.postDelayed(mTimerExecutor, 5000);
        }
    });

    ...........

}


private Runnable mTimerExecutor = new Runnable() {

    @Override
    public void run() {

        if (mProgressDialog != null) {
            mProgressDialog.dismiss();
        }

        showDialog();
    }
};

private void showDialog() {

    if (RootTools.isAccessGiven()) {

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.drawable.ic_launcher);
        builder.setTitle("Congratulations!");
        builder.setMessage("You Have Root Access!");

        builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });

        AlertDialog dialog = builder.create();
        dialog.show();

    } else {

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.drawable.ic_launcher);
        builder.setTitle("Oops!");
        builder.setMessage("No Root Access!");
        builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {

                dialog.cancel();
            }
        });

        AlertDialog dialog = builder.create();
        dialog.show();  
    }

}

关于java - 如何添加一个旋转样式的进程对话框 5 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22248762/

相关文章:

java - 从资源目录加载属性文件(IDE 与可运行的 JAR)

java - Windows 无法从 eclipse 中运行 python 脚本

android - 如何设置 Android 动态壁纸图标(又名 "thumbnail")

android - sqlite - 附加数据库

安卓java.lang.NoClassDefFoundError : android. app.Notification$Builder

java - YouTube 的响应数组,以编程方式排序

java - 使用流 Java 8 从 List<Object>,List<Object> 转换为 List<AnotherObject>

java - 点击 Android 滑动 fragment

android - 在 Stripe Android CardWidget 如何更改提示文本大小和提示文本?

java - 新电脑,Eclipse 坏了