如何重置计时器中的秒数

时间:2019-02-19 11:37:39

标签: java android

当秒数超过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) {

    }
});

4 个答案:

答案 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));