likehs 发表于 2018-12-7 14:20:19

怎么没人提防止多次点击的问题,多普遍的问题啊

本帖最后由 likehs 于 2018-12-7 14:49 编辑

这么普遍的问题,居然没人提出,难道都是高手自己解决了?还是不在乎用户体验?
例如:点击按钮后,连接网络,弹出一个提示框,由于网络延迟卡顿等原因,界面时没反应的,继续点击按钮3次,最后出来4个同样的提示框,需要关闭4次,这肯定是不行的。
我试了下解决方法:
点击后立即按钮禁止再次单击,这个确实有效,弹出提示框前,不能连续单击了,
但我需要弹出提示框后,按钮应该可以重新能单击,然后我在提示框语句后加入按钮可以单击。
正常的逻辑功能是:点击按钮-按钮不可单击-弹出提示框-按钮可单击。
那么正常的操作应该是在提示框前是不可单击的,提示框后才能重新单击按钮,在易语言时也是用的这个思路,运行完全没问题,
但在火山问题就来了,实际测试时,在提示框弹出前连续单击依然有效,弹出多个提示框。
这说明,在实际测试时,提示框还没弹出来时,后台程序已经秒执行到按钮可以再次单击这步了,造成了按钮单击禁止形同虚设。然后想加入延迟,但火山没有直接的延迟命令,引入thread.sleep方法,实际测试不起作用,原因未知。
这个问题怎么破?或者大家有什么其他的解决方法分享下。



118184017 发表于 2018-12-7 15:30:52

用进度框做等待

爆发 发表于 2018-12-7 15:58:28

这个本来就自带的, 你点击后 然后按钮 支持单击设置为假等网络响应完成后再设置回来 支持单击=真

likehs 发表于 2018-12-7 16:27:07

问题就是网络还没响应完,按钮单击=真已经提前生效了,立马就让按钮可以被单击了

459731069 发表于 2018-12-7 22:19:59

你用的是异步访问吧 没有阻塞当前线程 程序直接向下执行了

创世魂 发表于 2018-12-11 11:57:10

你需要用多线程加载网络数据。不然ui肯定会卡的

创世魂 发表于 2018-12-11 11:58:15

防止多次点击,这就需要你自己去写逻辑代码判断了。。这个问题其实不属于解答范围。
页: [1]
查看完整版本: 怎么没人提防止多次点击的问题,多普遍的问题啊