2015-03-19 47 views
1

我已經寫了一個倒數計時器的程序,但倒計時開始時只有按鈕點擊,但我希望它沒有按鈕點擊開始,任何人都可以建議我如何做到這一點沒有按鈕點擊?如何在沒有執行任何操作的情況下啓動活動啓動的倒數計時器?

這裏是倒數計時器代碼

public class MainActivity extends ActionBarActivity { 

CountDownTimer countDownTimer; 
boolean timehasstarted = false; 
Button btnStart; 
TextView timer; 
long startTime = 30 * 1000; 
long interval = 1 * 1000; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    btnStart = (Button) findViewById(R.id.button1); 
    timer = (TextView) findViewById(R.id.timer); 
    timer.setText(timer.getText() + String.valueOf(startTime/1000)); 
    btnStart.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      if (!timehasstarted) { 
       countDownTimer.start(); 
       timehasstarted = true; 
       timer.setText("Stop"); 
      } else { 
       countDownTimer.cancel(); 
       timehasstarted = false; 
       timer.setText("Restart"); 
      } 
     } 
    }); 
    countDownTimer = new CountDownTimer(startTime, interval) { 

     @Override 
     public void onTick(long millisUntilFinished) { 
      timer.setText("" + millisUntilFinished/1000); 
     } 

     @Override 
     public void onFinish() { 
      timer.setText("Time's Up!"); 
     } 
    }; 
} 
+1

爲什麼你不能啓動的onCreate您的定時器() – 2015-03-19 06:25:24

+0

你怎麼建議我做先生? – 2015-03-19 06:29:29

回答

0
如果你想有一個特定的時間之後纔開啓倒計時說後2秒,那麼你可以使用TimerTask的這對〔實施例

   Timer t = new Timer(); 
      t.schedule(new TimerTask() { 

       @Override 
       public void run() { 



       } 
      }, 2000); 
0

將您的計時器代碼移動到onCreate()方法的Activity而不是onClick()方法

這將啓動計時器的活動sta RT。

,你也可以使用timer.cancel()當活動停止取消計時器或當前未激活

+0

@narahari_arjun分享錯誤日誌 – Fahim 2015-03-19 06:48:18

+0

完成先生,完成,謝謝 – 2015-03-19 06:56:17

相關問題