作者Wolfken ()
看板AndroidDev
标题Re: [问题] viewFlippr的的连点事件
时间Fri Nov 18 12:13:13 2011
※ 引述《motors55 (‵Д′╬)》之铭言:
: 各位先进好
: 最近用到viewFlipper来实现换页效果
: 流程是这样:
: 点击viewVlipper内的button後,viewFlipper做showNext()
: 但因为点击button後会从网路抓点东西,所以会稍微lag个零点几秒
: 问题来了
: 若使用者在此时又按一次button则又做一次showNext()
: 等到换页执行成功时,显示的页面是下下页
: 想请问看看有没有甚麽做法可以让button只收第一次的点击事件
: 我试过在点击後将button设成disable是可以挡住之後的点击
: 但我有的button是动态产生,不好findView将它设回enable
: 请教一下有没有甚麽比较好的做法
: 谢谢
几个建议
1. 即使lag零点几秒,在换页时依然相当明显,何况你还是靠网路
要是网路爆慢或是断线,你不是卡在那里?
UI的东西绝不能卡在这种response time无法确定的东西
你可以先直接换页,需要网路抓的东西就等抓完再用handler填回去就好
2. 真的不行的话,你把button的reference保留下来,等抓完再call就好
3. 再不然就是按一次後就把button直接destroy掉,抓完再产生一个新的
4. 或是你可以参考Looper跟Handler,用handler.post把thread塞进queue里面
这样他thread就会一个接一个执行,设计得宜的话也可解决问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.165.228.116
1F:推 motors55:感谢回覆,当然要抓网路的东西时我会先判断网路状态 11/18 13:14
2F:→ motors55:也会用thread让主程式跳progressDialog来表示loading 11/18 13:16
3F:→ motors55:文中的button不单指button,有时是listview的item 11/18 13:18
4F:→ motors55:若destroy的话,返回此页时list里的内容要重抓,感觉很没 11/18 13:19
5F:→ motors55:效率,本文主要想请教的还是针对showNext()对连点的处理 11/18 13:21
6F:→ motors55:我也尝试用过点击第一次时跑thread让主程式睡一下,再丢 11/18 13:22
7F:→ motors55:handler做showNext(),但有人会觉得这样会感觉装置的处理 11/18 13:23
8F:→ motors55:速度很慢,连换页都要loading,但这招是我目前尝试出最理 11/18 13:24
9F:→ motors55:想的做法,viewFlipper没有child的index实在不太好用.. 11/18 13:26
10F:→ sjrom:setDisplayedChild(index) ?? 11/18 21:53