2015-03-19 54 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

相关问题