我有一个包含两个活动的 Android 应用程序。在这两个活动的孩子中,我在我的函数中运行了一个无限for
循环。run()
我希望活动在以下两种情况之一下返回到先前的视图:
- 当前日历秒到达
HIGH_SEC
(59) - 用户点击Back按钮
以下代码满足两者中的第一个:
Runnable mHideRunnable = new Runnable() {
@Override
public void run() {
for (;;) {
Calendar cal = Calendar.getInstance();
if (cal.get(Calendar.SECOND) == HIGH_SEC)
break;
System.out.println(cal.get(Calendar.SECOND));
try {
Thread.currentThread().sleep(1000);
} catch (Exception e) {
}
}
finish();
}
};
目前,当用户点击Back按钮时,应用程序会冻结。我认为这是因为活动陷入了无限for
循环。有谁知道如何检查Back按钮,以便我的代码做出适当的反应?