异步任务 (AsyncTask) 通常用于执行耗时的操作后台处理。但是,当需要传回表示连接成功的布尔值时,如何实现?
要从 AsyncTask 返回布尔值,您可以利用接口来定义接收结果的方法。具体方法如下:
public interface MyInterface { public void myMethod(boolean result); }
里面AsyncConnectTask,将接口作为参数注入到构造函数中。
public AsyncConnectTask(Context context, String address, String user, String pass, int port, MyInterface mListener) { mContext = context; ... this.mListener = mListener; }
初始化任务时,提供处理布尔值的接口的实现
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中文网其他相关文章!