我正在开发一款应用程序,可在检测到NFC卡后从我的服务器下载信息。
当检测到卡时,我开始 - 从我的服务器下载一些数据的Asynctask - 屏幕上出现弹出窗口的动画
在完成asynctask和动画之后,我想启动一个方法,在弹出窗口中显示下载的数据。
触发此新方法的正确方法是什么?它只能在满足两个条件时开始。
答案 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
。
触发onAnimationEnd
时animationFinished = true
并致电yourMethod
。 yourMethod
应该从以下开始:
if (!animationFinished || !downloadFinished)
return;