私がやろうとしていること:1時間に1回乾杯すること。問題: while ループが適切な間隔を持つのは、最初の実行時だけです。2 回目は、トーストの間隔が追加されません。while ループ内に含まれるコードはデバッグ中であり、完全に機能していることに注意してください。唯一の問題は、トースト間の遅延です。
if (SelectedOption == 1) {
int count = 1;
while (count <= 10) {
final Handler handler = new Handler();
Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
db.open();
String fact = "";
fact = db.getRandomEntry();
Context context = getApplicationContext();
CharSequence text = fact;
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
db.close();
}
});
}
}, 3600000);
count++;
}
} else if (SelectedOption == 2)
{ ... // Something similar using different approach }