ProgressDialog使用
01.public class ProgressDialogTest extends Activity{
02. private static final int MAX_NUMBER=100;
03. private int currentProgress=0;
04. Button button;
05. ProgressDialog progressDialog;
06. Handler handler;
07. @Override
08. protected void onCreate(Bundle savedInstanceState) {
09. // TODO Auto-generated method stub
10. super.onCreate(savedInstanceState);
11. setContentView(R.layout.progress);
12. button=(Button)findViewById(R.id.button);
13. button.setOnClickListener(new View.OnClickListener(){
14. @Override
15. public void onClick(View v) {
16. showDialog(1);
17. currentProgress=0;
18. progressDialog.setProgress(0);
19. handler.sendEmptyMessage(0);
20. }
21. });
22.
23. handler=new Handler(){
24. @Override
25. public void handleMessage(Message msg) {
26. // TODO Auto-generated method stub
27. super.handleMessage(msg);
28. if (currentProgress>=MAX_NUMBER) {
29. progressDialog.dismiss();
30. }else {
31. currentProgress++;
32. progressDialog.incrementProgressBy(1);
33. handler.sendEmptyMessageDelayed(0, MAX_NUMBER);
34. }
35. }
36. };
37. }
38. @Override
39. protected Dialog onCreateDialog(int id) {
40.
41. progressDialog=new ProgressDialog(ProgressDialogTest.this);
42. progressDialog.setIcon(R.drawable.icon);
43. progressDialog.setMax(MAX_NUMBER);
44. progressDialog.setTitle("ProgressDialog");
45. progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
46. progressDialog.setButton("OK", new DialogInterface.OnClickListener(){
47. @Override
48. public void onClick(DialogInterface dialog, int which) {
49. // TODO Auto-generated method stub
50. }
51. });
52. return progressDialog;
53. }
54.}
public class ProgressDialogTest extends Activity{
private static final int MAX_NUMBER=100;
private int currentProgress=0;
Button button;
ProgressDialog progressDialog;
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.progress);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
showDialog(1);
currentProgress=0;
progressDialog.setProgress(0);
handler.sendEmptyMessage(0);
}
});
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
if (currentProgress>=MAX_NUMBER) {
progressDialog.dismiss();
}else {
currentProgress++;
progressDialog.incrementProgressBy(1);
handler.sendEmptyMessageDelayed(0, MAX_NUMBER);
}
}
};
}
@Override
protected Dialog onCreateDialog(int id) {
progressDialog=new ProgressDialog(ProgressDialogTest.this);
progressDialog.setIcon(R.drawable.icon);
progressDialog.setMax(MAX_NUMBER);
progressDialog.setTitle("ProgressDialog");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setButton("OK", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
return progressDialog;
}
}
在AndroidManifest加上android:configChanges="locale|keyboardHidden|orientation",就不会出现横竖屏的时候进度条终止的情况。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/GaoMatrix/archive/2011/02/23/6203790.aspx