Ich arbeite an einer Android App und habe eine , in der ich eine API-Anfrage senden alle 60 Sekunden. Ich verwende einen Handler
in diesem Fragment
diese Arbeit auf die folgende Weise ausgeführt werden:So starten Sie den Handler nach dem Aufruf von removeCallbacks oder removeCallbacksAndMessages auf Handler in Android
// Global Variable in Fragment
private boolean isHandlerStopped = false;
// Create the Handler object (on the main thread by default) Handler handler = new Handler();
// Define the task to be run here
private Runnable runnableCode = new Runnable() {
@Override
public void run() {
if(!isHandlerStopped){
// Get the No of New Feeds
functiontoCall();
// Repeat this runnable code again every 60 seconds
handler.postDelayed(runnableCode, 60000);
}
}
};
handler.post(runnableCode);
Jetzt habe ich einige Links in diesem Fragment, das eine gewisse Aktivität in App öffnen und in dieser Tätigkeit wird dieses Fragment wieder geladen werden. Wenn ich dieses Fragment in eine andere Aktivität lade, muss ich die Callbacks von diesem Handler entfernen, da ich in diesem Fall keine Anfrage an die API senden möchte. Also habe ich die Bedingung überprüft und den folgenden Code verwendet, um CallBacks zu stoppen.
isHandlerStopped = true;
handler.removeCallbacksAndMessages(runnableCode);
und in Funktion habe ich die folgende Zeile geschrieben:
handler.removeCallbacks(runnableCode);
Nun, wenn ich wieder zu meinem Fragmente zurückkommen, wird der Handler nicht funktioniert und wenn ich removeCallbacks aus onPause Funktion entfernen und funktioniert gut.
Aber ich kann removeCallbacks
Methode von Funktion nicht entfernen, wie kann ich den Handler wieder damit starten.
Bitte helfen Sie mir, wenn jemand weiß, wie man das macht.
Vielen Dank im Voraus.
Thank you so viel es funktionierte. :) –