2015-09-11 82 views
-2

我打算在达到点击30次点击次数时将秒数增加5秒,然后当我达到60次时将秒数增加其他5次点击等。如何增加计时器计数(CountDownTimer)

请帮助解决这个问题

public class game extends linear_layout { 
LinearLayout b1; 
TextView t1; 
int num=0; 
TextView timer; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.gamelayout); 
    timer = (TextView)findViewById(R.id.textView3); 
    b1 = (LinearLayout)findViewById(R.id.background); 
    t1 = (TextView)findViewById(R.id.textView2); 
    b1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int x = 10000; 
      num = num + 1; 
      t1.setText(Integer.toString(num)); 


      new CountDownTimer(x, 1000) { 

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

       } 

       public void onFinish() { 

        Intent i1 = new Intent(game.this, linear_layout.class); 
        startActivity(i1); 
        finish(); 
       } 

     } 
        .start(); 
     } }); } } 

回答

0

无法更新的CountDownTimer的秒数,而不是当你想增加它,你只取消前一个,并创建与新CountDownTimer新的价值。

几点需要注意:

不要在匿名的方式做new CountDownTimer,你需要的CountDownTimer一个参考,所以你就可以阻止它需要更新的时候。

的另一件事是,你不能从whithin其方法取消CountDownTimer,所以如果你想取消先前的计时器,并创建从onTick新CountDownTimer,你应该使用替代像CountDownTimer alternative

+0

是可能告诉我在哪里指示新的CountDownTimer? ,我仍然是一个初学者大声笑 –

+0

这取决于你的应用程序的逻辑,如果你会解释更多,我会尽力帮助。 –

+0

它关于点击..会有一个高分,如果我点击超过高分的时间会增加5秒,那就是它 –