我正在开发一个在检测到 NFC 卡后从我的服务器下载信息的应用程序。
当检测到卡时,我开始 - 一个从我的服务器下载一些数据的异步任务 - 屏幕上出现一个弹出动画
在异步任务和动画都完成后,我想启动一个在弹出窗口中显示下载数据的方法。
触发这种新方法的正确方法是什么?只有同时满足两个条件才能启动。
在用于下载数据的异步任务中,添加 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
你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;