在后台程序运行时,经常需要弹出进度条,来减少用户的等待感,下面用线程等待3秒来模仿后天程序的运行,简单代码如下:
public class ShowProgressBarActivity extends Activity { private Button mButton1; public ProgressDialog myProgressDialog = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButton1 = (Button) findViewById(R.id.myButton1); mButton1.setOnClickListener(myShowProgressBar); } Button.OnClickListener myShowProgressBar = new Button.OnClickListener() { public void onClick(View arg0) { final CharSequence strDialogTitle = getString(R.string.str_dialog_title); final CharSequence strDialogBody = getString(R.string.str_dialog_body); myProgressDialog = ProgressDialog.show(ShowProgressBarActivity.this, strDialogTitle, strDialogBody, true); new Thread() { public void run() { try { sleep(3000); } catch (Exception e) { e.printStackTrace(); } finally { myProgressDialog.dismiss(); } } }.start(); /* 开始运行运行线程 */ } }; }
使用final可以减少内存的使用空间,提高程序运行的效率。这里需要留意的是ProgressDialog的三个参数:
ProgressDialog(Context ,Title,Message);