Wenn Sie die Zeit, die ganze Zeit über mit unterschiedlichen Werten zu ändern, empfehle ich Sie
schedule(TimerTask task, long time)
Jedesmal, wenn man eine neue Zeit von DB hat verwenden, erstellen Sie einfach ein neues Timer()
wie so
time = getNewTimeFromDB();
createNewTask(time);
....
private void createNewTask(long time) {
Timer timer=new Timer();
TimerTask timerTask=new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
// whatever
}
});
}
};
timer.schedule(timerTask,time);
}
Das Gute daran ist, dass Sie den Timer nicht jedes Mal abbrechen müssen, weil er einmal ausgeführt werden soll.
es ist fest . Wenn ein anderer Wert eingegeben wird, können Sie den aktuellen Timer abbrechen und dann einen neuen mit anderer Zeit neu planen. – user1506104
@ user1506104 Eigentlich werde ich die Timer-Verzögerung für 10 mal ändern. Also muss ich es in diesem Fall jedes Mal abbrechen? Oder es wird mit nur einer Zeile funktionieren. – Husnain
sicher können Sie, brechen Sie den aktuellen Timer und erneut mit einem neuen Wert erneut initiieren –