1

アプリで進行状況ダイアログを 1 つ作成しています。以下は私のコードです...

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秒間回転モードにしたい。何をする必要がありますか?

4

2 に答える 2

4

このコードを使用するとうまくいきます

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();
}
于 2013-09-13T12:55:01.567 に答える
0

このコードを試してください

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();
                 }
             });
于 2013-09-13T12:30:49.143 に答える