0
votes

Comment arrêter le manipulateur qui est à l'intérieur decreate en utilisant OneBackPressed à l'extérieur de l'oncree?

J'appelle Runnable à l'intérieur de CréCreate en utilisant le gestionnaire et souhaitez l'arrêter d'utiliser sur le fonctionnement à l'extérieur de l'Oncreate. Comment arrêter la fonction courante en dehors de l'Oncreate?

J'ai essayé de réécrire à l'extérieur de l'ONCREATE, mais cela ne fonctionne pas. P>

protected void onCreate(Bundle savedInstanceState) {
define Runnable and start Runnable
}

@Override
public void onBackPressed() {
stop Runnable
}


0 commentaires

3 Réponses :


2
votes

Vous pouvez arrêter l'une quelconque des rappels en supprimant les rappels, utilisez

handler.removeCallbacksAndMessages(null);


4 commentaires

Si je mets manipuler.reMovecallbacks (my_Runnable); à l'arrière-plan à l'extérieur surCréate. Je devrais redéfinir la runnable à l'extérieur surcreate


Définissez simplement votre variable runnable au niveau de la classe et utilisez-la.


ou vous pouvez utiliser gestionnaire.removecallbacksandmessages (null); il supprimera tous les rappels actifs


"RemoVecallbackbackback ()" et des méthodes similaires fonctionnent en supprimant la file d'attente du gestionnaire exécutable, mais si l'exécution est déjà exécutée, ces méthodes ne fonctionneront pas.



1
votes

Exécution d'un alinéa qui prend plus de peu de millisecondes sur le maintien est erroné car il gèle l'interface. Si votre exécution est exécutée dans un fil différent, vous devez simplement envoyer une commande «mthread.interrupt ()» à ce fil spécifique pour la mettre fin à la fin. Si vous ne voulez pas terminer l'autre thread, vous devez mettre en œuvre des messages dans ce fil, puis envoyez un message spécifique à son gestionnaire.


1 commentaires

C'est la seule réponse correcte. Les autres ne fonctionneraient que si le gestionnaire n'a pas commencé à exécuter l'exécution de l'exécution.



0
votes

Vous pouvez arrêter de faire courir en appelant: -

mRhandler.reMoVecallbacks (runnable);


0 commentaires