非同步任務 (AsyncTask) 通常用於執行耗時的操作後台處理。但是,當需要傳回表示連接成功的布林值時,如何實現?
要從 AsyncTask 傳回布林值,您可以利用介面來定義接收結果的方法。具體方法如下:
public interface MyInterface { public void myMethod(boolean result); }
public AsyncConnectTask(Context context, String address, String user, String pass, int port, MyInterface mListener) { mContext = context; ... this.mListener = mListener; }裡面AsyncConnectTask,將介面作為參數注入到建構子中。
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();
照常啟動任務:
這種方法確保結果(無論連接成功或失敗)都透過介面進行傳達並在UI 執行緒上執行onPostExecute 方法。以上是如何從 Android 中的 AsyncTask 返回布林結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!