Maison >Java >javaDidacticiel >Comment les gestionnaires peuvent-ils être utilisés pour retarder les appels de méthode sous Android ?

Comment les gestionnaires peuvent-ils être utilisés pour retarder les appels de méthode sous Android ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-21 19:04:13872parcourir

How Can Handlers Be Used to Delay Method Calls in Android?

Utilisation de gestionnaires pour retarder les appels de méthode dans Android

Dans le domaine du développement mobile, il est souvent nécessaire d'exécuter une tâche spécifique après un intervalle prédéfini. C'est là que les gestionnaires entrent en jeu dans Android. Les gestionnaires servent de messagers entre les threads, vous permettant de planifier des tâches à effectuer ultérieurement.

Un exemple intemporel d'Objective-C

En Objective-C, cela a été élégamment réalisé en utilisant le Méthode performSelector. Il fournissait un moyen pratique d'appeler une méthode spécifique après un délai spécifié :

[self performSelector:@selector(DoSomething) withObject:nil afterDelay:5];

L'équivalent Android avec des gestionnaires

Android fournit un mécanisme similaire via des gestionnaires. Pour retarder l'exécution d'une méthode, vous pouvez utiliser la méthode postDelayed(). Cette méthode prend un objet Runnable comme argument, qui définit le code qui doit être exécuté après le délai spécifié. Voici comment vous pouvez implémenter cela dans Kotlin et Java :

Solution Kotlin

Handler(Looper.getMainLooper()).postDelayed({
    // Do something after 100ms
}, 100)

Solution Java

final Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        // Do something after 100ms
    }
}, 100);

Dans les deux exemples, le délai est spécifié en millisecondes ( 100 dans ce cas) comme deuxième paramètre. N'oubliez pas d'importer la classe android.os.Handler pour Kotlin et Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn