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
Susan SarandonOriginal
2024-12-13 18:20:12499Durchsuche

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);
}
  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)
}
  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();

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!

Stellungnahme:
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