[問題] 如何在切換Tab時先跑完版面再跑資料

作者: GtSoul (安蛇)   2015-12-03 10:22:06
標題這樣下有點模糊
大概就是打算用Tab切換各分類
切換的時候從Server把資料抓下來
我是在onCreateView做抓下來的動作的
會等資料完全抓好之後才notifyDataChanged
最後才Return Layout
不過這樣會遇到的問題是
必須先等資料抓完之後Layout才會出來
導致使用體驗非常Lag
我希望能像Play商店那樣
先跑出Layout,等資料到齊後才把CardView呈現上來
使用了AsyncTask不過效果好像不如預期
資料在背景處理好了
可是不知道要怎麼notifyDataChanged
請求各位幫忙
感謝
http://ideone.com/Vmbw0J
作者: LZN (秋)   2015-12-03 11:10:00
AsyncTask可, 不然用Loader也可以
作者: corrupt003 (QQ)   2015-12-03 11:21:00
改在onViewCreated裡面抓資料呢?
作者: ssccg (23)   2015-12-03 11:43:00
你看起來是不太熟悉非同步code? 用了AsyncTask卻在同一個method裡用while waiting是哪招...最快改法就是getData參數加一個callback,return改voidonPostExecute裡呼叫callback傳入資料,execute直接return然後最後cardAdapter加資料那兩行改成直接getData,那兩行移到callback裡面去
作者: GtSoul (安蛇)   2015-12-03 13:47:00
成功了!感謝各位高手

Links booklink

Contact Us: admin [ a t ] ucptt.com