我正在尝试解决这个似乎对我不起作用的问题,因为我对此感到头疼。似乎while循环没有正确循环。
假设我单击一个按钮,这是我的代码:
Calendar now = Calendar.getInstance();
Calendar later = Calendar.getInstance();
later.add(Calendar.SECOND, 120);
Label1.setText(String.valueOf(later.get(Calendar.MINUTE)));
Label2.setText(String.valueOf(later.get(Calendar.SECOND)));
while ((now.get(Calendar.MINUTE) <= later.get(Calendar.MINUTE)) && (now.get(Calendar.SECOND) <= later.get(Calendar.SECOND))){
Label3.setText(String.valueOf(now.get(Calendar.SECOND)));
Label4.setText(String.valueOf(now.get(Calendar.MINUTE)));
//try {
//Thread.sleep(500);
//} catch (InterruptedException e1) {
//// TODO Auto-generated catch block
//e1.printStackTrace();
//}
now = Calendar.getInstance();
}
我尝试了 WITH 和 WITHOUT Thread.sleep(500)。
WITH = 全部 4 个标签更新,但应用程序变得无响应。WITHOUT = 全部 4 个标签更新,Label1 正确显示它提前 2 分钟。但是 while 循环就停在那里,Label3 和 Label4 没有进一步更新。
这只是我的主应用程序的测试代码,我的主应用程序非常相似,只是不是更新标签,而是应该闪烁灯。问题是闪烁通常会过早停止!
谢谢!