comment puis-je appeler la fonction toutes les 10 sec?
Je veux faire une application qui appeler une fonction par exemple toutes les 10 sec.
J'ai écrit mon code comme ceci:
Handler ha=new Handler();
ha.postDelayed(new Runnable() {
@Override
public void run() {
//call function
}
}, 10000);
Mais mon appel de fonction une seule fois en 10 sec après la compilation de ce code.
Comment puis-je résoudre ce problème?
l'utilisateur de la minuterie et schedual eux
ajouter ha.postDelayed(ce, 10000); à la fin de l'exécution
ajouter ha.postDelayed(ce, 10000); à la fin de l'exécution
OriginalL'auteur user3257386 | 2014-02-04
Vous devez vous connecter pour publier un commentaire.
De faire comme ceci:
ouais c'est vrai mais c'est l'une des solutions:)
OriginalL'auteur Rudi
Utiliser une combinaison de
Timer
etTimerTask
comme ceci:Assurez-vous également d'utiliser
runOnUiThread()
si vous souhaitez modifier l'INTERFACE utilisateur.Difficile à dire sans votre LogCat.
Vous avez peut-être modifier l'INTERFACE utilisateur et de ne pas utiliser
runOnUiThread()
comme mentionné précédemment par FD_OriginalL'auteur FD_
Il semble que la Minuterie et TimerTask sont ce que vous cherchez
vous avez à nous donner plus de détails. il est difficile de savoir pourquoi votre application est suspendue sans code...
je suis minuteur à l'aide de la Tâche et aussi gestionnaire, mais de gestionnaire et de la minuterie de la tâche de continuer à aller après 10 à 15 menuet ensemble de l'application et de téléphone, c'est d'accrocher et le gel est qu'il ya une solution pour cela ?
Gestionnaire de créer de l'objet avant TimerTask puis utilisez-le gestionnaire d'objet à l'intérieur de méthode run (). gestionnaire d'.post(new Runnable() { public void run(){ mise à Jour de l'INTERFACE utilisateur } );
OriginalL'auteur Amir Alagic
Utilisez code ci-dessous.
avez-vous le changement de l'INTERFACE utilisateur à l'intérieur de la minuterie de fil?
Gestionnaire de créer de l'objet et de l'utiliser ensuite à l'intérieur de méthode run() pour mettre à jour l'INTERFACE utilisateur.
OriginalL'auteur InnocentKiller
Il existe plusieurs méthodes pour ce faire. Personnellement, je préfère utiliser ScheduledExecutorService:
OriginalL'auteur Cheerag