当我达到点击次数30次点击时,我计划将秒数增加5秒,然后当我达到60次点击时,将秒数增加到其他5次,依此类推
请帮助解决这个问题
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 :(得分:0)
你不能更新CountDownTimer的秒数,而是当你想要增加它时,你只需取消前一个并使用新值创建一个新的CountDownTimer。
很少有事情需要注意:
不要以匿名方式执行new CountDownTimer
,您需要对CountDownTimer的引用,以便在需要更新时能够停止它。
另一件事是你无法从其方法中取消CountDownTimer,所以如果你想取消之前的计时器并从onTick创建新的CountDownTimer,你应该使用像CountDownTimer alternative这样的替代方法