Maison > Java > javaDidacticiel > Comment puis-je renvoyer une valeur booléenne à partir d'une AsyncTask Android ?

Comment puis-je renvoyer une valeur booléenne à partir d'une AsyncTask Android ?

Susan Sarandon
Libérer: 2024-12-13 18:20:12
original
502 Les gens l'ont consulté

How Can I Return a Boolean Value from an Android AsyncTask?

Renvoi d'une valeur booléenne depuis AsyncTask

Dans le développement Android, il peut être nécessaire de renvoyer une valeur booléenne à partir d'une tâche asynchrone effectuée par AsyncTask. Ceci est utile dans les situations où vous devez déterminer le succès ou l'échec d'une opération spécifique.

Pour renvoyer un booléen depuis AsyncTask, vous pouvez implémenter une interface de rappel. Voici comment procéder :

  1. Créer une interface de rappel : Définir une interface avec une méthode qui accepte un paramètre booléen, représentant le résultat de la tâche.
public interface MyInterface {
    public void myMethod(boolean result);
}
Copier après la connexion
  1. Passez l'interface de rappel à AsyncTask : Quand en créant votre AsyncTask, transmettez l'interface de rappel en argument.
public class AsyncConnectTask extends AsyncTask<Void, Void, Boolean> {

    private MyInterface mListener;

    public AsyncConnectTask(Context context, String address, String user,
        String pass, int port, MyInterface mListener) {
        mContext = context;
        _address = address;
        _user = user;
        _pass = pass;
        _port = port;
        this.mListener = mListener;
    }

    // ... (Rest of the AsyncTask code)
}
Copier après la connexion
  1. Implémentez la méthode de rappel dans l'activité parent : Dans l'activité parent ou le fragment qui a initié l'AsyncTask, implémentez la méthode de rappel définie dans l'interface.
AsyncConnectTask task = new AsyncConnectTask(SiteManager.this,
                        _address, _username, _password, _port,  new MyInterface() {
    @Override
    public void myMethod(boolean result) {
        if (result == true) {
            Toast.makeText(SiteManager.this, "Connection Succesful",
            Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(SiteManager.this, "Connection Failed:" + status, Toast.LENGTH_LONG).show();
        }
    }
});

task.execute();
Copier après la connexion

En suivant ces étapes, vous peut effectivement renvoyer une valeur booléenne à partir d'une AsyncTask et gérer le résultat en conséquence.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal