1. 程式人生 > >系統耗時控制元件ProgressDialog

系統耗時控制元件ProgressDialog

優點:耗時操作的時候,無法點選其他位置,以免動作重複。
理解:
需求:點選"跳轉"按鈕,按鈕內飾先請求介面資料,成功後,從當前activity跳轉到下一個activity;
分析:假如請求介面時,網路發生延遲,在5秒後,資料才請求成功,在這5秒內,按鈕被多次點選,那麼介面也會多次被請求,跳轉的命令也在被多次呼叫,這樣實際的結果就是,會出現多個第2個activity,點選返回上一個activity需要多次點選,影響使用者體驗,說到這有人說,對activity進行限制,假如出現了activity,就不執行activity的跳轉功能;這樣會涉及到另外一個問題,就是在網路延遲的情況下,使用者多次點選“跳轉”,介面會沒有反應,雖然activity只有一個,但是也影響到了使用者體驗,所以,耗時操作的加入,就順時了

1、在需要顯示的地方初始化一下

private ProgressDialog pd;//耗時控制元件

	
	pd= ProgressDialog.show(MainActivity.this, "", "正在起盤…");//引數為activity的context;“題目”,“內容”;

2、需要它消失的時,需要線上程中掉用,處理方法為:


	mHandler.sendEmptyMessage(WAITTIME);//這個放到需要讓耗時控制元件消失的地方
	
//	線上程中,對它進行消失操作;
	private int WAITTIME=2000;
	public Handler mHandler = new Handler() {
	        @Override
	        public void handleMessage(Message msg) {
	            Bundle bundle;
	            switch (msg.what) {
	
	                case WAITTIME:
	                    pd.dismiss();
	                    break;
			}
		}
	}