0

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

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

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

触发这种新方法的正确方法是什么?只有同时满足两个条件才能启动。

4

2 回答 2

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

于 2013-04-20T17:57:45.897 回答
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调用 putdownloadFinished为 true 并调用yourMethod。何时onAnimationEnd触发animationFinished = true并调用yourMethod. yourMethod 应该像这样开始:

if (!animationFinished || !downloadFinished)
 return;
于 2013-04-20T18:55:16.067 回答