3 回答

TA貢獻1830條經(jīng)驗 獲得超3個贊
如果fun2()應始終在定時器輸入fun1()完成后執(zhí)行,則只需在onFinsih()方法內(nèi)部調(diào)用即可,如下所示:
public void func1(){
new CountDownTimer(4000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
}
@Override
public void onFinish() {
func2();
}
}.start();
}
public void func2(){
}
這是調(diào)用函數(shù)的好地方的原因是,onFinish時間到時將觸發(fā)回調(diào)。這將確保您實現(xiàn)預期的行為。

TA貢獻1799條經(jīng)驗 獲得超6個贊
在Java中,JRE順序執(zhí)行每一行中指定的指令。在這里,由于多線程,我看到您有一個特殊的要求。
可以使用以下方法來解決此問題:
選項1:
在func1()的onFinish()方法內(nèi)調(diào)用func2()。這樣就可以確定它在func1()代碼執(zhí)行之后正在執(zhí)行。
@Override
public void onFinish() {
func2();
}
選項2:
由于您是在func1()方法中設置等待時間的,因此在您的調(diào)用模塊中調(diào)用func2()之前,請?zhí)砑佑嫊r器。
func1();
setTimeout(function () {
func2();
}, 5000);
希望能幫助到你??!

TA貢獻1851條經(jīng)驗 獲得超4個贊
您可以在中的func1()CountDownTimer方法中調(diào)用fun2()onFinish()。
喜歡 :
public void func1(){
new CountDownTimer(4000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
}
@Override
public void onFinish() {
func2();
}
}.start();
}
public void func2(){
}
添加回答
舉報