Android實現長時間等待界麵
Android 實現等待界麵,一般我們在執行比較費時的操作時,不能讓界麵線程阻塞,否則android發現太長時間阻塞的話,會彈出關閉該應用的對話框,所以我們一般把比較耗時的操作放在另一個線程去執行,然後界麵線程該幹什麼幹什麼,等操作完成後,再通知界麵線程完成相應的操作即可。
Message可以傳回不同類型的值,可以應對不同需要。
//聲明變量
private Button b1;
private ProgressDialog pd;
//定義Handler對象
private Handler handler =new Handler(){
@Override
//當有消息發送出來的時候就執行Handler的這個方法
public void handleMessage(Message msg){
super.handleMessage(msg);
//隻要執行到這裏就關閉對話框
pd.dismiss();
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
private void processThread(){
//構建一個下載進度條
pd= ProgressDialog.show(MainHandler.this, "同步", "正在同步…");
new Thread(){
public void run(){
//在這裏執行長耗時方法
longTimeMethod();
//執行完畢後給handler發送一個消息
handler.sendEmptyMessage(0);
}
}.start();
}
這樣的寫法比較簡潔,運行效率也高。
最後更新:2017-04-04 07:03:07