在应用中经常会用到一些费时的操作,需要用户进行等待,比如加载网页内容 。
这时候就需要一个提示来告诉用户程序正在执行,
而ProgressBar、ProgressDialog等就是专门干这个的。
实例:
public class MainActivity extends Activity {
private Button btn;
private ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pd = ProgressDialog.show(MainActivity.this, "标题", "加载中,请稍后……");
/* 开启一个新线程,在新线程里执行耗时的方法 */
new Thread(new Runnable() {
@Override
public void run() {
spandTimeMethod();// 耗时的方法
handler.sendEmptyMessage(0);// 执行耗时的方法之后发送消给handler
}
}).start();
}
});
}
public void spandTimeMethod(){
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
pd.dismiss();
}
};
}