Android执行多个任务时执行

时间:2013-04-20 17:51:52

标签: java android

我正在开发一款应用程序,可在检测到NFC卡后从我的服务器下载信息。

当检测到卡时,我开始 - 从我的服务器下载一些数据的Asynctask - 屏幕上出现弹出窗口的动画

在完成asynctask和动画之后,我想启动一个方法,在弹出窗口中显示下载的数据。

触发此新方法的正确方法是什么?它只能在满足两个条件时开始。

2 个答案:

答案 0 :(得分:1)

在用于下载数据的异步任务中添加onPostExecute方法以删除动画弹出窗口并显示下载的数据,如下所示:

 protected void onPostExecute(Long result) {
     //put code to disable animation popup
     //code for displaying downloaded data popup
 }

有关详细信息,请查看http://developer.android.com/reference/android/os/AsyncTask.html

答案 1 :(得分:0)

Animation对象的方法为setAnimationLister。它将实现接口Animation.AnimationListener的类对象作为参数。该接口需要实现三种方法:

@Override
public void onAnimationStart(Animation animation) {

}

@Override
public void onAnimationEnd(Animation animation) {

}

@Override
public void onAnimationRepeat(Animation animation) {

}

动画结束时会触发onAnimationEnd。如果我没有误解你,这就是你需要的

编辑:

你可以有两个布尔值,boolean animationFinished = false, downloadFinished = false;调用onPostExecute时,将downloadFinished设置为true并调用yourMethod。 触发onAnimationEndanimationFinished = true并致电yourMethodyourMethod应该从以下开始:

if (!animationFinished || !downloadFinished)
 return;