Android之关于点击多次的导致多个页面问题

这边我是重写了一个类baseActivity作为我们的activity。那么会容易进行统一操作。以前最容易遇到的一个问题安卓手机在卡顿的时候,我们点击下去导致了各种原本只能操作一次的问题导致操作俩次了。所以这边我进行了一个设置就是延时点击。这样能够避免大部分的问题。所以呢。有必要的可以看看。最重要的时候代码统一。这样的效果是会让你更加容易的调用。

那么代码如下:首先我们要重写dispatchTouchEvent这个方法。这个是事件消耗的问题:

   @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {

        if (mOpenTouchEventDelay && ev.getAction() == MotionEvent.ACTION_DOWN) {
            if (isFastDoubleClick()) {
                return true;
            }
        }

        return super.dispatchTouchEvent(ev);
    }
首先先看一下。为什么要这么写呢。考虑到我们可能不会去使用这个方法,那么在里面进行这样设定。上面标红的俩个呢是我下面要贴的代码



这张图片来源于http://www.tuicool.com/articles/7bIVrme为了让大家更好的看到。那么这个时候其实很明确。如果通过呢就是返回true通知消息发出去了。

那么这个时候我们继续下面的代码:

    public boolean isFastDoubleClick() {
        long time = System.currentTimeMillis();
        long timeD = time - mLastClickTime;
        if (timeD >= 0 && timeD <= 500) {
            return true;
        } else {
            mLastClickTime = time;
            return false;
        }
    }

  /**
     * 解决快速点击单个按钮,出现多个页面的问题
     * @param open 是否打开
     */
    protected void openTouchDelay(boolean open) {
        mOpenTouchEventDelay = open;

    }
设定一个时间进行延时。那么写到我们的统一baseactivity里面。那么我们怎么调用呢- -其实就简单了。
mLastClickTime是里面的全局变量

只要在你需要的页面调用

openTouchDelay(true);
这个就解决问题了。但是记着这个是让这个页面所有的都会发生这样的延迟。

好了~~代码就讲解到这边了。。。难度没有很多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值