Heim > Java > javaLernprogramm > Wie kann ich einen booleschen Wert von einer Android AsyncTask zurückgeben?

Wie kann ich einen booleschen Wert von einer Android AsyncTask zurückgeben?

Susan Sarandon
Freigeben: 2024-12-13 18:20:12
Original
503 Leute haben es durchsucht

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

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:

  1. Erstellen Sie eine Rückrufschnittstelle: Definieren Sie eine Schnittstelle mit einer Methode, die einen booleschen Parameter akzeptiert, der das Ergebnis der Aufgabe darstellt.
public interface MyInterface {
    public void myMethod(boolean result);
}
Nach dem Login kopieren
  1. Übergeben Sie die Rückrufschnittstelle an AsyncTask:Beim Erstellen Ihres AsyncTask, übergeben Sie die Rückrufschnittstelle als 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)
}
Nach dem Login kopieren
  1. 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.
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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage