【问题标题】:Progress Dialog spinner is not spinning进度对话框微调器不旋转
【发布时间】:2013-09-13 12:20:16
【问题描述】:

我正在我的应用程序中创建一个进度对话框。下面是我的代码...

ProgressDialog dialog = ProgressDialog.show(TabViewLayout.this, "", "Logout...");
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.isIndeterminate();
new Thread() {
    public void run() {
        try {
            sleep(5000);
        }
        catch (Exception e) { }
    }
}.start();

Handler handler = new Handler();
handler.post(new Runnable(){
                     public void run(){
                         dialog.dismiss();
                     }
             });

我必须做的是,我必须在我的应用程序中延迟 5 秒以进行某些进程。使用上面的代码,进度对话框出现在屏幕上,但微调器没有旋转。我希望它处于旋转模式 5 秒。需要做什么?

【问题讨论】:

  • 使用倒数计时器代替线程睡眠。您开始显示进度条并启动一个线程,然后您关闭。

标签: android progressdialog


【解决方案1】:

使用此代码它将为您工作

ProgressDialog progressDialog;
Context mContext;
private Thread mThread;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mContext = this;
    progressDialog = new ProgressDialog(mContext);
    progressDialog.setCancelable(false);
    progressDialog.setMessage("Loading....");
    progressDialog.show();

    mThread = new Thread() {
        @Override
        public void run() {
            try {
                synchronized (this) {
            // Wait given period of time or exit on touch
                    wait(5000);

                }
            } catch (InterruptedException ex) {
            }

            // finish();
            progressDialog.dismiss();

        }
    };
    mThread.start();
}

【讨论】:

    【解决方案2】:

    试试这个代码

    ProgressDialog dialog = ProgressDialog.show(this);
    dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
    dialog.setMessage("Please wait...");
    dialog.setCancelable(false);
    dialog.show();
    
    new Thread() {
        public void run() {
            try {
                sleep(5000);
            }
            catch (Exception e) { }
    
        }
    }.start();
    
    Handler handler = new Handler();
    handler.post(new Runnable() {
                     public void run() {
                         dialog.dismiss();
                     }
                 });
    

    【讨论】:

      猜你喜欢
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 2012-09-11
      • 2012-06-15
      相关资源
      最近更新 更多