作者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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1449109329.A.C85.html
※ 编辑: GtSoul (106.1.24.233), 12/03/2015 10:28:53
1F:→ LZN: AsyncTask可, 不然用Loader也可以 12/03 11:10
2F:→ corrupt003: 改在onViewCreated里面抓资料呢? 12/03 11:21
3F:→ ssccg: 你看起来是不太熟悉非同步code? 用了AsyncTask却在同一个 12/03 11:43
4F:→ ssccg: method里用while waiting是哪招... 12/03 11:44
5F:→ ssccg: 最快改法就是getData参数加一个callback,return改void 12/03 11:45
6F:→ ssccg: onPostExecute里呼叫callback传入资料,execute直接return 12/03 11:47
7F:→ ssccg: 然後最後cardAdapter加资料那两行改成直接getData,那两行 12/03 11:48
8F:→ ssccg: 移到callback里面去 12/03 11:48
9F:→ GtSoul: 成功了!感谢各位高手 12/03 13:47