程序加载中...(ProgressDialog和线程整合应用)
新建一个继承Activity类的ProgressDialogActivity,并设置布局文件为:progressdialog.xml。
首先在布局文件上添加一个Button组件。
<Button android:id="@+id/progressdilog_btn01" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/show_progressdialog" /> |
显示效果:
而后在主界面获取这个Button并添加单击事件。
Button btn = (Button) super.findViewById(R.id.progressdilog_btn01); btn.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) { // TODO Auto-generated method stub
} }); |
之后在onCreate()方法里面创建一个ProgressDialog,只是不要将此对话框显示出来。
final ProgressDialog dialog = ProgressDialog.show(this, "提示", "加载中...", true, false); dialog.dismiss(); |
接着创建一个子线程,在子线程中休眠3秒后,关闭ProgressDialog。
Thread mThread = new Thread() { @Override public void run() { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } finally { dialog.dismiss(); } } }; |
最后在Button单击事件中显示对话框和开启子线程即可。
@Override public void onClick(View v) { dialog.show(); mThread.start(); } |
运行效果: