以下是核心代码
package com.example.administrator.helloword; import android.app.ProgressDialog; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ProgressBar; public class ProgessDialogTest extends AppCompatActivity { ProgressDialog pb; Handler handler=new Handler(){ public void handleMessage(Message msg){ switch (msg.what){ case 0x0001: int index=msg.arg1; pb.setProgress(index); break; case 0x0002: pb.dismiss(); break; } } }; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); initControl(); createProgress(); } public void dialogProgress(View view){ pb.show(); new Thread(){ public void run(){ for(int i=0;i<=100;i++){ Message msg=new Message(); msg.what=0x0001;//注意 声明haneler的switch (msg.what) case里面有,不然不会执行 msg.arg1=i; try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } handler.sendMessage(msg); } handler.sendEmptyMessage(0x0002); //注意 声明haneler的switch (msg.what) case里面有,不然不会执行 } }.start(); } //初始化控件 private void initControl(){ pb=new ProgressDialog(this); setContentView(R.layout.progress_dialog); } //创建进度条 private void createProgress() { pb.setMessage("测试进度条"); pb.setTitle("进度条"); pb.setCancelable(false);//按空白地方 进度条窗口不会消失 pb.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); } }