2 つのアクティビティを持つ Android アプリがあります。2 つのアクティビティの子で、関数内で無限for
ループを実行しrun()
ます。
次の 2 つの条件のいずれかで、アクティビティが前のビューに戻るようにします。
- 現在のカレンダーの秒が
HIGH_SEC
(59)に達する - ユーザーがBackボタンを押す
2 つのうちの 1 つ目は、次のコードによって満たされます。
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コードを適切に反応させるためにボタンをチェックする方法を知っている人はいますか?