搜尋

首頁  >  問答  >  主體

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 天前625

全部回覆(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
  • 取消回覆