我正在使用一个简单的倒计时程序
并每隔毫秒调用onTick()
:
final int[] i = new int[1];
CountDownTimer countDownTimer = new CountDownTimer(1000, 1) {
@Override
public void onTick(long millisUntilFinished) {
Log.i("Time left", millisUntilFinished + "");
i[0]++;
}
@Override
public void onFinish() {
Log.i("i = ", i[0] + "");
}
};
问题是虽然计时器在正确的时间结束,但是onTick()
方法并没有每毫秒被调用一次。每次都少了几毫秒。
我使用日志检查它,发现I[0]
的值在最后是597,而它应该是999,因为每次调用onTick()
时它都会得到1。有精度误差吗?
使用处理器。试试这个:
final Handler handler = new Handler();
final Runnable countDownTimer = new Runnable() {
@Override
public void run() {
handler.postDelayed(this, 1);
}
};
handler.postDelayed(countDownTimer, 0);
首先,将立即调用处理程序。在那之后,它每毫秒被调用一次。
请尝试使用以下代码:
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
new Handler().post(new Runnable() {
@Override
public void run() {
// To-do
}
});
}
};
timer.schedule(timerTask, 1000, 1000);
您可以创建这样的处理程序:
Handler timer = new Handler();
timer.postDelayed(new TimerTask() {
@Override
public void run() {
// Make something
}
}, 1000);
问题内容: 我有一个非常简单的Servlet和一个非常简单的HttpSessionListener: 我的方法从未被调用(没有日志输出),最终我在调用getSession()的那一行上得到一个 我尝试拨打电话时也没有问题,但存在相同的问题。 我不明白- 注释不足以调用我的侦听器吗?Eclipse甚至在下方将其显示为侦听器。 问题答案: 原来这是愚蠢的Eclipse问题之一… Project-> C
我的从未被调用,即使我在inapp对话框中单击立即购买,logcat也不会打印任何内容。
我是写测试和使用Mockito的新手。我在Stackoverflow上阅读了类似的主题,并做了建议的更改,确保所考虑的类/接口/方法是开放的。 我试图跟踪这个 模仿构造函数注入的依赖项 这是我目前想出来的测试 但我一直得到的回应是 即使我在测试中没有提到这种方法,我也得到了这种反应。这是我的演示者注册方法。我已经改变了类/接口 同样地 这里是接口 感谢您的帮助。
问题:为什么从不调用? 我在xml配置中扩展了,如 MyEntityManagerFactoryBean MyInterceptor: 更新:[解释为什么自定义脏政策看起来不像我的方式] 我希望每次更改实体中的内容时更新时间戳,但除外。同时,应该是持久的,而不是暂时的(意味着导致实体变脏)。 由于我使用Spring事务和Hibernate模板,有一些细微差别: 1) 我无法在每个setter的末尾
我试图在jpa实体上使用@Consumed和camel。 这是我的路线: 我的实体: 我确实获得了来自db的结果的incomingFileHandler bean,但我没有获得消费方法updateMstatus。incomingFileHandler bean被连续调用,因为总是有来自db的结果
我正在尝试使用SpringKafka将kafka与我的SpringBoot(v2.0.6版本)应用程序集成。现在我想要一个消费者和一个生产者。我让制作人工作得很好,我可以看到通过控制台消费者发送到主题的消息。我无法使用消费者代码,当Kafka主题中出现新消息时,它不会被调用。 这是我的Kafka配置类: 以下是我的pom依赖项: 以及消费者代码: 我正在我的计算机上运行kafka,正如我所说的——