栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

android asynctask发送回调到ui

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

android asynctask发送回调到ui

您可以创建一个

interface
,将其传递给
AsyncTask
(在构造函数中),然后在中调用
methodonPostExecute()

例如:

您的界面:

public interface OnTaskCompleted{    void onTaskCompleted();}

您的活动:

public class YourActivity implements OnTaskCompleted{    // your Activity}

和您的AsyncTask:

public class YourTask extends AsyncTask<Object,Object,Object>{ //change Object to required type    private onTaskCompleted listener;    public YourTask(onTaskCompleted listener){        this.listener=listener;    }    // required methods    protected void onPostExecute(Object o){        // your stuff        listener.onTaskCompleted();    }}

编辑

由于此答案非常受欢迎,因此我想补充一些内容。

如果您是Android开发的新手,那么这

AsyncTask
是一种在不阻止UI线程的情况下正常运行的快速方法。它确实确实解决了一些问题,但类本身的工作方式并没有错。但是,它带来了一些影响,例如:

内存泄漏的可能性。如果您继续参考

Activity
,即使用户离开屏幕(或旋转设备),它也将保留在内存中。
AsyncTask无法将结果传递给
Activity
是否
Activity
已被破坏。您必须添加额外的代码来管理所有这些内容,或者您​​要进行两次操作。
卷积的代码可以完成所有工作
Activity

当您觉得自己已经足够成熟,可以继续使用Android时,请看一下这篇文章,我认为这是使用异步操作开发Android应用程序的更好方法。




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号