您可以创建一个
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应用程序的更好方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)