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

如何从 Android AsyncTask 返回布尔值?

Susan Sarandon
发布: 2024-12-13 18:20:12
原创
589 人浏览过

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

从 AsyncTask 返回布尔值

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

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

  1. 创建回调接口:使用接受布尔参数的方法定义接口,表示任务的结果。

1

2

3

public interface MyInterface {

    public void myMethod(boolean result);

}

登录后复制
  1. 将回调接口传递给AsyncTask:时创建 AsyncTask,将回调接口作为参数传递。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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,实现接口中定义的回调方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板