[英]How to reset seconds in timer
Ho to reset seconds (it's "i" variable) when it's over 60? Ho超过60时要重置秒(它是“ i”变量)吗? I tried to put it into the if but it didn't work.
我试图将它放到if中,但是没有用。
SeekBar bar=findViewById(R.id.seekBar2);
final TextView textView=(TextView) findViewById(R.id.textView);
bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
int minute=0;
if(i>60) {
minute++;
}
textView.setText(String.valueOf(minute)+":"+String.valueOf(i));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
Assuming you want the variable i to become 0 when it reaches 60,you just need to apply ' % ' modulus operator. 假设您希望变量i在达到60时变为0,只需要应用'%'模运算符即可。
for ex: 例如:
i = i % 60
If you want to reset the SeekBar
, simply use seekbar.setProgress(0);
如果要重置
SeekBar
,只需使用seekbar.setProgress(0);
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
int minute=0;
if(i>60) {
seekbar.setProgress(0); //will reset the seekbar
minute++;
}
bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
int minute=0;
if(i>60) {
minute++;
i = 0;
}
textView.setText(String.valueOf(minute)+":"+String.valueOf(i));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}); });
You can calculate as 您可以计算为
int minute = i/60;
int secs = i - (60 * minute);
textView.setText(String.valueOf(minute)+":"+String.valueOf(secs));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.