Comment Passer des Arguments à Timertask Méthode Run
J'ai une méthode et je veux qu'il soit prévu pour l'exécution, dans les derniers temps. Le moment de la planification et de la méthode des arguments dépendent des entrées de l'utilisateur.
J'ai déjà essayé Minuteries, mais j'ai une question.
Comment pourrait-Il être possible de passer des arguments à Java TimerTask méthode run ?
TimerTask timert = new TimerTask()
{
@Override
public void run()
{
//do something
}
}
faire de l'argument à un champ, puis vous pouvez l'obtenir dans votre méthode run
OriginalL'auteur sjtaheri | 2011-09-22
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'étendre la
TimerTask
et de créer un constructeur et/ou de poseur de champs.. Puis définissez les valeurs que vous voulez avant la planification de laTimerTask
pour l'exécution.OriginalL'auteur sethu
Vous pouvez écrire votre propre classe qui s'étend de TimerTask classe et vous pouvez remplacer la méthode run.
OriginalL'auteur onurbaysan
La seule façon de le faire est de créer votre propre classe qui étend la classe TimerTask et passer des arguments à son constructeur ou appeler ses setters. Donc, la tâche de "savoir" que ses arguments à partir du moment de sa création.
En outre, il fournit des setters vous pouvez modifier la configuration des tâches encore plus tard, après que la tâche a été d'ores et déjà prévue.
OriginalL'auteur AlexR
Il n'est pas possible de changer la signature de la
run()
méthode.Toutefois, vous pouvez créer une sous-classe de TimerTask et de lui donner une sorte de l'initialisation de la méthode. Ensuite, vous pouvez appeler la nouvelle méthode avec les arguments que vous voulez, de les enregistrer sous forme de champs dans votre sous-classe, puis de référence de ces champs initialisés dans le
run()
-méthode:Assurez-vous de définir les champs " de la visibilité à
protected
, parce queprivate
champs ne sont pas visibles (anonyme) des sous-classes deMyTimerTask
. Et n'oubliez pas de vérifier si les champs ont été initialisée dans lerun()
méthode.OriginalL'auteur hiergiltdiestfu
le code ci-dessus fonctionne très bien pour planifier et replanifier les tâches que vous pouvez définir et redéfinir la tâche avec une fonction de minuterie
OriginalL'auteur Gyanender Singhle