作者GtSoul (安蛇)
看板AndroidDev
標題[問題] 如何在切換Tab時先跑完版面再跑資料
時間Thu Dec 3 10:22:06 2015
標題這樣下有點模糊
大概就是打算用Tab切換各分類
切換的時候從Server把資料抓下來
我是在onCreateView做抓下來的動作的
會等資料完全抓好之後才notifyDataChanged
最後才Return Layout
不過這樣會遇到的問題是
必須先等資料抓完之後Layout才會出來
導致使用體驗非常Lag
我希望能像Play商店那樣
先跑出Layout,等資料到齊後才把CardView呈現上來
使用了AsyncTask不過效果好像不如預期
資料在背景處理好了
可是不知道要怎麼notifyDataChanged
請求各位幫忙
感謝
http://ideone.com/Vmbw0J
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.24.233
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1449109329.A.C85.html
※ 編輯: GtSoul (106.1.24.233), 12/03/2015 10:28:53
→ LZN: AsyncTask可, 不然用Loader也可以 12/03 11:10
→ corrupt003: 改在onViewCreated裡面抓資料呢? 12/03 11:21
→ ssccg: 你看起來是不太熟悉非同步code? 用了AsyncTask卻在同一個 12/03 11:43
→ ssccg: method裡用while waiting是哪招... 12/03 11:44
→ ssccg: 最快改法就是getData參數加一個callback,return改void 12/03 11:45
→ ssccg: onPostExecute裡呼叫callback傳入資料,execute直接return 12/03 11:47
→ ssccg: 然後最後cardAdapter加資料那兩行改成直接getData,那兩行 12/03 11:48
→ ssccg: 移到callback裡面去 12/03 11:48
→ GtSoul: 成功了!感謝各位高手 12/03 13:47