其他分享
首页 > 其他分享> > android – 如何设置计时器的开始时间

android – 如何设置计时器的开始时间

作者:互联网

我有一个具有计时器的应用程序,我需要将开始时间设置为日期之间的差异

我怎样才能做到这一点?

解决方法:

这样做的一种方法是扩展Chronometer类……这样的事情:

public class MyChronometer extends Chronometer {

    public int msElapsed;
    public boolean isRunning = false;

    public MyChronometer(Context context) {
        super(context);
    }

    public int getMsElapsed() {
        return msElapsed;
    }

    public void setMsElapsed(int ms) {
        setBase(getBase() - ms);
        msElapsed  = ms;
    }

    @Override
    public void start() {
        super.start();
        setBase(SystemClock.elapsedRealtime() - msElapsed);
        isRunning = true;
    }

    @Override
    public void stop() {
        super.stop();
        if(isRunning) {
            msElapsed = (int)(SystemClock.elapsedRealtime() - this.getBase());
        }
        isRunning = false;
    }
}

您可以使用setMsElapsed(int ms)指定偏移量.您可能需要将日期转换为Long并从那里进行数学计算.如果指定类所在的整个包,则可以在XML布局中使用该类.

标签:chronometer,android
来源: https://codeday.me/bug/20190726/1540319.html