ProgressDialog使用

    技术2025-12-21  6

    ProgressDialog主要用于大文件拷贝,网络传输时,显示进度。一般使用thread控制ProgressDialog的显示、进度和关闭。 public class main extends Activity {private static boolean isCannel = false;private ProgressDialog  progressDialog;@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                progressDialog = new ProgressDialog (this);        CharSequence title = "ProgressDialog监听线程处理进度";        //CharSequence message = getString(R.string.xxx);        CharSequence message = "当前处理进度";                ProcessThread mThread = new ProcessThread();        progressDialog = new ProgressDialog(this);        progressDialog.setTitle(title);        progressDialog.setMessage(message);        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);        progressDialog.setButton((CharSequence)"取消", mThread);        progressDialog.setProgress(0);        progressDialog.setMax(100);        progressDialog.setOnCancelListener(mThread);        progressDialog.setOnDismissListener(mThread);        progressDialog.show();        mThread.start();    }        private class ProcessThread extends Thread implements OnCancelListener, OnDismissListener, OnClickListener{     public void run() {      isCannel = false;      int process = 0;      while(!isCannel && process < 100) {       progressDialog.incrementProgressBy(1);       try {     sleep(200);    } catch (InterruptedException e) {     e.printStackTrace();    }    process ++;      }      progressDialog.dismiss();      finish();     }       public void onClick(DialogInterface dialog, int which) {   isCannel = true;  }  public void onDismiss(DialogInterface dialog) {   isCannel = true;  }  public void onCancel(DialogInterface dialog) {   isCannel = true;  }    }}

    最新回复(0)