美文网首页
解决activity双击跳转两次的问题

解决activity双击跳转两次的问题

作者: 刘孙猫咪 | 来源:发表于2017-12-02 14:51 被阅读0次

    在A activity中有一个button,点击button跳转至B activity,如果连续点击button会发现跳B activity会跳两次,从B activity返回到A activity的时候也要返回两次,当然这样的话肯定会影响用户体验,后面在使用微信等主流app的时候,仔细观察了下,微信也存在这种现象,微信开发团队肯定知道这个问题 ,估计他们是觉得不影响正常用户的用户体验就可以,所以就没有解决,这个问题是可以解决,但是解决的同时也会造成应用程序的某些页面的卡顿,估计这也是微信没有解决的一个原因吧;
    解决的思路:记录前后两次点击的时间差,同时在activity中重写dispatchTouchEvent()方法,如果时间差小于规定的值,就将该次点击处理掉,也就是让页面不相应该次点击事件:

    /**
      * 处理多次点击
      */
    private static long lastClickTime;
    
    public static boolean isFastDoubleClick() {
        long time = System.currentTimeMillis();
        long timeD = time - lastClickTime;
        lastClickTime = time;
        if (timeD >= 0 && timeD <= 500) {
            return true;
        } else {
            lastClickTime = time;
            return false;
        }
    }
    

    处理逻辑可以放到BaseActivty里面

    //处理多次点击
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
            if (SalesTool.isFastDoubleClick()) {
                return true;
            }
        }
        return super.dispatchTouchEvent(ev);
    }
    

    这样子就解决掉问题了。

    相关文章

      网友评论

          本文标题:解决activity双击跳转两次的问题

          本文链接:https://www.haomeiwen.com/subject/vjynbxtx.html