
Einen booleschen Wert von AsyncTask zurückgeben
Bei der Android-Entwicklung kann es erforderlich sein, einen booleschen Wert von einer von AsyncTask ausgeführten asynchronen Aufgabe zurückzugeben. Dies ist in Situationen nützlich, in denen Sie den Erfolg oder Misserfolg eines bestimmten Vorgangs ermitteln müssen.
Um einen booleschen Wert von AsyncTask zurückzugeben, können Sie eine Rückrufschnittstelle implementieren. So geht's:
-
Erstellen Sie eine Rückrufschnittstelle: Definieren Sie eine Schnittstelle mit einer Methode, die einen booleschen Parameter akzeptiert, der das Ergebnis der Aufgabe darstellt.
1 2 3 | public interface MyInterface {
public void myMethod(boolean result);
}
|
Nach dem Login kopieren
-
Übergeben Sie die Rückrufschnittstelle an AsyncTask:Beim Erstellen Ihres AsyncTask, übergeben Sie die Rückrufschnittstelle als Argument.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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;
}
}
|
Nach dem Login kopieren
-
Implementieren Sie die Rückrufmethode in der übergeordneten Aktivität:In der übergeordneten Aktivität oder dem übergeordneten Fragment, das die AsyncTask initiiert hat , implementieren Sie die in der Schnittstelle definierte Rückrufmethode.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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();
|
Nach dem Login kopieren
Durch Befolgen dieser Schritte können Sie effektiv a zurückgeben booleschen Wert aus einer AsyncTask und behandeln Sie das Ergebnis entsprechend.
Das obige ist der detaillierte Inhalt vonWie kann ich einen booleschen Wert von einer Android AsyncTask zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!