zoukankan      html  css  js  c++  java
  • 关于Android避免按钮重复点击事件

    最近测试人员测试我们的APP的时候,喜欢快速点击某个按钮,出现一个页面出现多次,测试人员能不能禁止这样。我自己点击了几下,确实存在这个问题,也感觉用户体验不太好。于是乎后来我搜了下加一个方法放在我们Utils类里

    // 判断按钮是否快速点击
    private static long lastClickTime;
    public synchronized static boolean isFastClick() {
    long time = System.currentTimeMillis();
    if (time - lastClickTime < 500) {
    return true;
    }
    lastClickTime = time;
    return false;
    }

    这样我就在onclick()方法里加如下代码

    public void onClick(View v) {
        if(Utils.isFastClick){
                return;
         }                
     }

    加了之后,的确是禁用了某个界面的的重复点击,于是我就高兴地告诉测试人员我解决了这个问题,他看了之后,也说了没问题了。但是好景不长,他就又在其他页面发现可以重复点击,有特么出现多个页面了,说最后都不要重复点击。下班的路上我左思右想,还点击其他的APP,发现都没有重复点击事件。第二天早上我起床的时候,突然冒出一个想法,如果我在父类实现onclicklistener方法 重写onclick方法,然后写一个禁止重复点击的方法,那么子类就应该不会出现重复点击事件了。于是我google了好久,没有发现一个比较好的例子,在我们组经验丰富程序员的帮助下,这里也非常感谢他,呵呵,为此我给了他一个苹果。最终有了以下的代码。

    禁止重复点击
        public void avoidDouleClick(View v) {
            clickView = v;
            if (oldId == -1) {
                lastClickTime = SystemClock.elapsedRealtime();
                oldId = v.getId();
                return;
            } else if (v.getId() == oldId) {
                long time = SystemClock.elapsedRealtime();
                if (time - lastClickTime < 500) {
                    v.setId(0);
                    return;
                }
            } else if (v.getId() == 0) {
                lastClickTime = SystemClock.elapsedRealtime();
                v.setId(oldId);
            }
        }

    这个思路其实就是禁止一个button的id连续点击超过500毫秒,这样不就避免了重复点击事件。这样子Activity重写onClick()方法,这样子类就不要再次实现OnClickListener接口了,就能少写点代码了。

    @Override
        public void onClick(View v) {
            super.onClick(v);
        }

    当然,在BaseFragment也要像BaseActivity一样。这样就能禁止Actvitity和Fragment的重复点击事件了。

  • 相关阅读:
    SAP PI 如何实现消息定义查询
    EWM与ERP交互程序
    ITS Mobile Template interpretation failed. Template does not exist
    SAP Material Flow System (MFS) 物料流系统简介
    SAP EWM Table list
    EWM RF 屏幕增强
    SAP EWM TCODE list
    SAP扩展仓库管理(SAPEWM)在线研讨会笔记
    ERP与EWM集成配置ERP端组织架构(二)
    EWM RF(Radio Frequency)简介
  • 原文地址:https://www.cnblogs.com/tleopard/p/5367627.html
Copyright © 2011-2022 走看看