天天看點

Android添加監聽事件回調

public void test() {
		Time time = new Time();
		// 添加回調監聽
		time.setCallBackListener(new CallBackListener() {
			
			@Override
			public void callBack() {
				initData();//在這裡去執行你第二步的初始化操作
			}
		});
		//擷取ID
		String ID = time.getId();//擷取ID之前,先添加個回調監聽
	}
	private void initData(){}
	
	public interface CallBackListener{
		void callBack();// 這個方法,你可以根據自己的需要添加一些回調參數
	}
	
	class Time{
		private String ID  =  "";
		private CallBackListener callBackListener;// 根據自己的需要确認是否需要設定為靜态變量,如果為靜态變量,set方法也變為靜态方法
		public String getId(){
			new Thread(new Runnable() {
				@Override
				public void run() {
					ID = "1231312";
					//以上是原先的邏輯,這裡隻要加一個這樣的判斷就可以了,不影響原先功能
					if (callBackListener != null) {
						callBackListener.callBack();
					}
				}
			}).start();
			return ID;
		}
		public void setCallBackListener(CallBackListener callBackListener) {
			this.callBackListener = callBackListener;
		}
	}
}