当秒数超过60时,如何重置秒(它是“ i”变量)?我试图将它放到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) {
}
});
答案 0 :(得分:0)
假设您希望变量i在达到60时变为0,只需要应用'%'模运算符即可。
例如:
i = i % 60
答案 1 :(得分: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++;
}
答案 2 :(得分:0)
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) {
}
});
答案 3 :(得分:0)
您可以计算为
int minute = i/60;
int secs = i - (60 * minute);
textView.setText(String.valueOf(minute)+":"+String.valueOf(secs));