首頁 > Java > java教程 > 如何從 Android 中的 AsyncTask 返回布林結果?

如何從 Android 中的 AsyncTask 返回布林結果?

Patricia Arquette
發布: 2024-12-06 01:27:10
原創
773 人瀏覽過

How Can I Return a Boolean Result from an AsyncTask in Android?

從 AsyncTask 傳遞布林結果

後台

非同步任務 (AsyncTask) 通常用於執行耗時的操作後台處理。但是,當需要傳回表示連接成功的布林值時,如何實現?

實作解決方案

要從 AsyncTask 傳回布林值,您可以利用介面來定義接收結果的方法。具體方法如下:

  1. 定義結果處理介面:
public interface MyInterface {
    public void myMethod(boolean result);
}
登入後複製
  1. 修改 AsyncTask
修改 AsyncTask
public AsyncConnectTask(Context context, String address, String user,
        String pass, int port, MyInterface mListener) {
    mContext = context;
    ...
    this.mListener  = mListener;
}
登入後複製
裡面AsyncConnectTask,將介面作為參數注入到建構子中。
  1. 將介面傳遞給AsyncTask
:

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();
        } 
    }
});
登入後複製
初始化任務時,提供處理布林值的介面的實作
執行AsyncTask

:

task.execute();
登入後複製

照常啟動任務:

這種方法確保結果(無論連接成功或失敗)都透過介面進行傳達並在UI 執行緒上執行onPostExecute 方法。

以上是如何從 Android 中的 AsyncTask 返回布林結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板