Maison >Java >javaDidacticiel >Comment puis-je renvoyer un résultat booléen à partir d'une AsyncTask sous Android ?
Une tâche asynchrone (AsyncTask) est souvent utilisée pour effectuer des opérations fastidieuses de traitement en arrière-plan. Cependant, lorsque vous devez renvoyer une valeur booléenne indiquant une connexion réussie, comment cela peut-il être réalisé ?
Pour renvoyer une valeur booléenne depuis AsyncTask, vous pouvez exploiter une interface pour définir une méthode pour recevoir le résultat. Voici comment :
public interface MyInterface { public void myMethod(boolean result); }
Dans l'AsyncConnectTask, injectez l'interface en argument au constructeur.
public AsyncConnectTask(Context context, String address, String user, String pass, int port, MyInterface mListener) { mContext = context; ... this.mListener = mListener; }
Lors de l'initialisation de la tâche, fournissez une implémentation de l'interface pour gérer le résultat booléen.
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(); } } });
Lancez la tâche comme d'habitude :
task.execute();
Cette approche garantit que le résultat, qu'il s'agisse d'une connexion réussie ou d'un échec, est communiqué via l'interface et s'exécute sur le fil de discussion de l'interface utilisateur dans la méthode onPostExecute.
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!