• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 连点处理,禁止按钮在短时间内被多次点击,按钮短时间内

连点处理,禁止按钮在短时间内被多次点击,按钮短时间内

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了按钮点击时间,手表调时间的按钮,时间按钮,单选按钮改变时间,js按钮时间等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

连点处理,禁止按钮在短时间内被多次点击,按钮短时间内


转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6694072.html 

 

在做App的过程中,当点击某个按钮的时候,如果不做连点处理,会造成按钮在短时间内被点击多次的情况。

为了避免这种情况的发生,我们需要自定义一个抽象类 CustomClickListener 并继 View.OnClickListener

abstract class CustomClickListener implements View.OnClickListener {

    private static final int MIN_CLICK_DELAY_TIME = 1000;    // 设置1秒内只能点击一次

    private long lastClickTime = 0;

    private int id = -1;

    @Override
    public void onClick(View v) {
        long currentTime = Calendar.getInstance().getTimeInMillis();
        int mId = v.getId();
        if (id != mId) {
            id = mId;
            lastClickTime = currentTime;
            onNoDoubleClick(v);
            return;
        }
        if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
            lastClickTime = currentTime;
            onNoDoubleClick(v);
        }
    }

    protected abstract void onNoDoubleClick(View v);

}

 

本文采用Data-Binding框架,So 在build.gradle(Module:app)下面添加

android {
    ...
    dataBinding {
        enabled = true
    }
}

 

将连点处理写入到需要实现的类里面

public class MainActivity extends AppCompatActivity {

    private ActivityMainBinding mBinding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mBinding = DataBindingUtil.setContentView(this,R.layout.activity_main);
        mBinding.btn.setOnClickListener(new CustomClickListener() {
            @Override
            protected void onNoDoubleClick(View v) {
                // TODO:你想执行的操作
            }
        });
    }
}

 

布局文件

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <RelativeLayout xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.tnnowu.android.perfectclick.MainActivity">

        <Button
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

    </RelativeLayout>

</layout>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 连点处理,禁止按钮在短时间内被多次点击,按钮短时间内

相关文章

  • 2017-05-26如何取得nginx做反向代理时的真实IP?
  • 2017-05-26Android Studio快捷键指南(本文持续更新)
  • 2017-05-26手机影音7--视频播放器的基本功能(4),7--基本功能
  • 2017-05-26使用WakeLock使Android应用程序保持后台唤醒,wakelockandroid
  • 2017-05-26Android第四天,神秘封印礼盒第四天
  • 2017-05-26easy touch利用playmaker拖动ngui对象
  • 2017-05-26如何为APK签名?,APK签名?
  • 2017-05-26Android 权限的实现,Android权限实现
  • 2017-05-26使用Eclipse开发Android源码
  • 2017-05-26解决CentOS 7 history命令不显示操作记录的时间和用户身份问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android 支持表情功能
    • [AndroidAnnotations框架]AndroidAnnotations的配置介绍
    • ButterKnife注解框架详解,butterknife注解框架
    • Service的启动与停止、绑定与解绑,service停止绑定
    • Xamarin android 的WebClient Json下载并存储本地及sqlite数据库,xamarinsqlite
    • win通过dos配置注册列表
    • [android] 手机卫士绑定sim卡,androidsim
    • zabbix 应用系列之nginx tcp stream监控
    • android6.0 adbd深入分析(四)adbd usb线拔掉再连接的过程
    • Android 大杂烩工程之ListView的开发2以及数据仓库开发模式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有