Android之有效防止按钮多次重复点击
来源:互联网 发布:社交论坛源码 编辑:程序博客网 时间:2024/06/06 15:02
为了防止测试妹子或者用户频繁点击某个按钮,导致程序在短时间内进行多次数据提交or数据处理,那到时候就比较坑了~
那么如何有效避免这种情况的发生呢?
我的想法是,判断用户点击按钮间隔时间,如果间隔时间太短,则认为是无效操作,否则进行相关业务处理
首先将这块提取为工具类(方便接下来的调用),现在就起名为:ButtonUtils
public class ButtonUtils { private static long lastClickTime = 0; private static long DIFF = 1000; private static int lastButtonId = -1; /** * 判断两次点击的间隔,如果小于1000,则认为是多次无效点击 * * @return */ public static boolean isFastDoubleClick() { return isFastDoubleClick(-1, DIFF); } /** * 判断两次点击的间隔,如果小于1000,则认为是多次无效点击 * * @return */ public static boolean isFastDoubleClick(int buttonId) { return isFastDoubleClick(buttonId, DIFF); } /** * 判断两次点击的间隔,如果小于diff,则认为是多次无效点击 * * @param diff * @return */ public static boolean isFastDoubleClick(int buttonId, long diff) { long time = System.currentTimeMillis(); long timeD = time - lastClickTime; if (lastButtonId == buttonId && lastClickTime > 0 && timeD < diff) { Log.v("isFastDoubleClick", "短时间内按钮多次触发"); return true; } lastClickTime = time; lastButtonId = buttonId; return false; } }
我们通过判断俩次点击时间间隔去判定当前点击操作是否为有效操作。那么如何在使用中调用呢?继续往下看。。。
gv_isf.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { if (!ButtonUtils.isFastDoubleClick(R.id.gv_integralstore)) { //写你相关操作即可 } } });
!ButtonUtils.isFastDoubleClick(R.id.gv_integralstore):这块是关键。我的想法就是在单击事件中进行判断,看看当前的点击事件是否为有效点击事件
好了,一个简单又实用的防止按钮多次重复点击的工具类就搞定了。。。
如果大家还有什么比较实用的方法,,,可以一起交流哈~
阅读全文
0 0
- Android之有效防止按钮多次重复点击
- Android之有效防止按钮多次重复点击
- android 防止 多次点击 重复点击按钮
- Android防止按钮多次重复点击
- android 防止按钮多次点击
- 【Android】Android防止过快点击造成多次事件执行(防止按钮重复点击)
- 【Android】Android防止过快点击造成多次事件执行(防止按钮重复点击)
- 【Android】Android防止过快点击造成多次事件执行(防止按钮重复点击)
- 【Android】Android防止过快点击造成多次事件执行(防止按钮重复点击)
- Android 防止重复按钮点击
- Android 防止多次点击,Toast重复显示
- 防止按钮多次点击
- 防止按钮多次点击
- 防止按钮多次点击
- android 防止按钮多次点击的处理?
- Android防止按钮被多次点击
- android 按钮防止连续点击防止按钮重复点击
- .net防止多次点击按钮
- Android中获取手机IMEI,IMSI, MAC(Android 6.0)工具类(标识用户唯一)
- HoloLens开发笔记-瞬移功能实现
- 微信的缓存问题,导致不经后台接口,直接跳转至上次访问的页面
- javaWeb 简单注册登录(含数据库连接) -- (四) 用户登录请求与响应
- LCD显示的一些基本概念以及DSI的一些clock解释
- Android之有效防止按钮多次重复点击
- SQL三种模糊查询方法(LIKE)and (PATINDEX() . CHARINDEX())对比
- SQL 锁表 与解锁
- 阻塞,非阻塞,异步,同步
- 以流的形式发送压缩文件到页面
- 简单瀑布流实现
- 深度学习网络大杀器之Dropout(II)——将丢弃学习视为集成学习之我见
- 项目管理-PMP-第3章 项目整合管理
- 2017年搞个centos 5的repo不容易呀