首页 >Java >java教程 >如何从 Android AsyncTask 返回布尔值?

如何从 Android AsyncTask 返回布尔值?

Susan Sarandon
Susan Sarandon原创
2024-12-13 18:20:12499浏览

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

从 AsyncTask 返回布尔值

在 Android 开发中,可能需要从 AsyncTask 执行的异步任务返回布尔值。这在您需要确定特定操作成功或失败的情况下非常有用。

要从 AsyncTask 返回布尔值,您可以实现回调接口。操作方法如下:

  1. 创建回调接口:使用接受布尔参数的方法定义接口,表示任务的结果。
public interface MyInterface {
    public void myMethod(boolean result);
}
  1. 将回调接口传递给AsyncTask:时创建 AsyncTask,将回调接口作为参数传递。
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. 在父 Activity 中实现回调方法: 在启动的父 Activity 或片段中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();
        }
    }
});

task.execute();

通过以下这些步骤,您可以有效地从 AsyncTask 返回布尔值并相应地处理结果。

以上是如何从 Android AsyncTask 返回布尔值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn