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