搜索

首页  >  问答  >  正文

android - Fragment 使用了过场动画,如何确保某个方法是过场动画完毕后执行呢?

我对fragment 设置了一个500ms的过场动画,然后在onViewCreate中进行了网络请求,在请求网络开始时,我会显示一个进度条,但是因为这个时候过场动画还未完成,导致了进度条先于界面被展示了
如何确保我的请求网络的方法是在过场动画执行完毕后执行的呢?(不使用sleep)

04-23 04:25:21.455 3680-3680/? D/Main6Activity: click: 
04-23 04:25:21.462 3680-3680/? D/TestFragment: onAttach: 1492921521462
04-23 04:25:21.464 3680-3680/? D/TestFragment: onCreateView: 1492921521464
04-23 04:25:21.466 3680-3680/? D/TestFragment: onViewCreated: 1492921521466
04-23 04:25:21.466 3680-3680/? D/TestFragment: onActivityCreated: 1492921521466
04-23 04:25:21.466 3680-3680/? D/TestFragment: onStart: 1492921521466
04-23 04:25:21.466 3680-3680/? D/TestFragment: onResume: 1492921521466
phpcn_u1582phpcn_u15822774 天前623

全部回复(6)我来回复

  • 習慣沉默

    習慣沉默2017-05-16 13:34:51

    postDelayed 500ms 再执行网络请求

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 13:34:51

    能监听动画就监听动画,不能监听动画就postDelayed。

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:34:51

    给动画设置监听,当动画完成时执行网络请求

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:34:51

    醉了。你听说过生命周期吗?

    回复
    0
  • 为情所困

    为情所困2017-05-16 13:34:51

    试试在OnActivityCreate()或者OnStart()方法中进行网络请求

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 13:34:51

    既然无法监听Fragment动画结束,我们可以换个思路,给动画添加listener,在onEnd方法中再将进度条设为可见

    回复
    0
  • 取消回复