Android開発のお勉強

メニュー

E-Mail



ProgressDialog

 処理に時間がかかる場合、処理中であることをユーザに知らせます。
 

● Activity
 レイアウトにボタンを配置して、ボタン押下時にProgressDialog表示します。

 setProgressStyleでSTYLE_SPINNERを設定していますが、
 円のくるくる回るよく見かける画像が表示されます。
  *処理がどのくらいかかるのか分からない場合に使用します。
 設定が終わったら、showでProgressDialogを表示します。
 
 Threadを作り、sleepを使うことで疑似的に処理時間がかかるようにします。
 処理が終わったら、dismissでProgressDialogを消します。



import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class ProgressDialogActivity extends Activity {

    private ProgressDialog progressDialog;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_progress_dialog);

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

            public void onClick(View arg0) {
                progressDialog = new ProgressDialog(ProgressDialogActivity.this);
                progressDialog.setTitle("ProgressDialog");
                progressDialog.setMessage("処理中・・・");
                progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                progressDialog.show();

                Thread thread = new Thread(new Runnable(){

                    public void run() {
                        try {
                            Thread.sleep(10000);
                            progressDialog.dismiss();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                });
                thread.start();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_progress_dialog, menu);
        return true;
    }
}




Copyright (C) Androidアプリ開発のお勉強. All Rights Reserved.