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;
}
}
}