《Android 获得点击事件两次之间的时间差和拦截多次点击事件》

来源:互联网 发布:淘宝娱乐宝下载安装 编辑:程序博客网 时间:2024/06/06 06:49

一、应用场景

    1. 在点击过程中需要判断两次点击事件的时间间距;

    2. 同一个点击事件执行了两次,我们需要对其进行拦截;

    3. 多次相应事件也可以该方法进行事件拦截。

二、具体的案例

    很简单的一个登录按钮的点击事件:

private long prelongTim = 0;//定义上一次单击的时间private long curTime = 0;//定义上第二次单击的时间
@Overridepublic void onClick(View view) {    switch (view.getId()) {        case R.id.bt_login://登入            if (prelongTim == 0) {//第一次单击时间                prelongTim = (new Date()).getTime();            } else {                curTime = (new Date()).getTime();//本地单击的时间                Log.d("onclick", "点击的时间" + (curTime - prelongTim));                prelongTim = curTime; //当前点击时间变为上次时间                if ((curTime - prelongTim) < 1000) {                    prelongTim = 0;                    //ToastUtil.showToast(mContext, "已经点击登录,请稍候.");                    return;                }            }            if (checkLegal()) {//检查登录合法性            }            userLogin();//用户登录请求                break;
          default:              break;
}}

0 0