最終更新:
moonlight_aska 2010年10月11日(月) 09:03:17履歴
プログレスバーは, 主に実行中の処理の進行状況を表示するためのものである.
ダイアログに表示したい場合はプログレスダイアログ(ProgressDialog)を使用する.

円プログレスバー:ProgressDialog.STYLE_SPINNER
ダイアログに表示したい場合はプログレスダイアログ(ProgressDialog)を使用する.

- ProgressDialog01.java
- ProgressDialogのインスタンスを生成する.
- setTitleメソッドでタイトルを設定する.
- setMessageメソッドで本文を設定する.
- setProgressStyleメソッドでプログレスバーのスタイルを設定する.
円プログレスバー:ProgressDialog.STYLE_SPINNER
- ボタンが押されると, プログレスバーを表示する.
- プログレスバーの進捗率を更新するスレッドを起動する.
- getMaxメソッドで取得した進捗率の分母の数だけループする. 進捗率の分母はsetMaxメソッドで設定できる.
- ループの中では, setProgressメソッドで進捗率を更新する.
- 進捗率が100%になると, プログレスバーのダイアログを閉じる.
package com.moonlight_aska.android.progressdialog01;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
public class ProgressDialog01 extends Activity {
private ProgressDialog dlg = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dlg = new ProgressDialog(this);
// タイトル, 本文を設定
dlg.setTitle("プログレスバー");
dlg.setMessage("しばらくお待ちください.");
// スタイルを設定
dlg.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
findViewById(R.id.button_id).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dlg.show();
new Thread(new Runnable() {
@Override
public void run() {
try {
for(int i=0; i<dlg.getMax(); i++) {
// 進捗率を更新
dlg.setProgress(i);
Thread.sleep(100);
}
} catch (InterruptedException e) {
// 例外処理
}
dlg.dismiss();
}
}).start();
}
});
}
}
このページへのコメント
わかりやすい解説ありがとうございますm(_ _)m