连续点击8次android版本,Android屡次点击事件
android本次没有提供双击或者屡次点击事件,须要咱们本身实现。android
思想:使用数组记录点击时的系统时间,若是当前点击事件发生后点击了3次而且当前的系统时间和第一次点击事件发生的时间的差值小于500则认为是连续点击的并且点击了3次。数组
使用数组很巧妙的控制了点击次数,由于数组默认初始值所有为0,每次点击都会为数组最后一个元素赋值,而后把数组全部元素左移一位,每移动一次第一次点击事件的那个值就左移一位了,若是左移3次了mHints[0]必定不为0,若是mHints[0]为0说明尚未点击3次,若是mHints[0]不等于0说明数组已经移动3次了发生了3次点击事件app
接下来就是考虑是不是连续点击了,假设每次点击时的系统时间为如下值。ide
数组初始: 0 0 0this
第一次点击:0 0 1020事件
第二次点击 0 1020 1050get
第三次点击 1020 1050 1070it
第3次点击以后if判断语句时假设当前当前系统时间为1075io
if (SystemClock.uptimeMillis()-mHints[0]<=500)ast
此行语句就是1075-1020<=500 ,1020正是第一次点击时的时间,第3次点击以后的时间1075和第一次点击时的时间1020的差值就是3次点击所耗费的时间, 若是这个差值小于500咱们就认为是连续点击
package com.passion.mobilesafe;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
/**
* Created by passion on 2015/8/10.
*/
public class MultiClickActivity extends Activity
{
private TextView tv_name;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
tv_name= (TextView) findViewById(R.id.tv_toast_address);
tv_name.setOnClickListener(new View.OnClickListener()
{
//须要监听几回点击事件数组的长度就为几
//若是要监听双击事件则数组长度为2,若是要监听3次连续点击事件则数组长度为3...
long[] mHints = new long[3];//初始所有为0
@Override
public void onClick(View v)
{
//将mHints数组内的全部元素左移一个位置
System.arraycopy(mHints, 1, mHints, 0, mHints.length - 1);
//得到当前系统已经启动的时间
mHints[mHints.length - 1] = SystemClock.uptimeMillis();
if (SystemClock.uptimeMillis()-mHints[0]<=500)
Toast.makeText(MultiClickActivity.this, "点击了3次", Toast.LENGTH_SHORT).show();
}
});
}
}
连续点击8次android版本,Android屡次点击事件相关推荐
- fastjson android 版本,Android版本
Fastjson提供Android版本,和标准版本相比,Android版本去掉一些Android虚拟机dalvik不支持的功能,使得jar更小,同时针对dalvik做了很多性能优化,包括减少方法调用等 ...
- oppo连续点击android版本,Android集成OPPO推送
前置步骤: 1.使用OPPO企业开发者帐号,登陆OPPO开放平台,在"管理中心-应用服务平台-移动应用列表-选择应用-开发服务-推送服务"中完成OPPO PUSH权限申请 2.Op ...
- 最新开发android版本,Android版本检测升级
我们应该都有类似的使用体验,当一款APP需要更新是,进入界面会提醒有新的更新是否更新,这里有那么几个步骤 1.首先检测当前版本 2.判断服务器中版本 3.如果有更新则点击更新,下载安装包,下载完成后自 ...
- sdk数值与android版本,Android SdkVersion的区别及获取版本信息方法
1.minSdkVersion,targetSdkVersion,maxSdkVersion,compileSdkVersion四个数值之间有什么区别? • minSdkVersion,maxSdkV ...
- 配置的android版本,Android SDK配置(V3.0.0及以上版本)
消息接收Receiver配置 创建消息接收Receiver,继承自com.alibaba.sdk.android.push.MessageReceiver,并在对应回调中添加业务处理逻辑,可参考以下代 ...
- 华为mate10用的android版本,Android P明日适配华为Mate10
9月4日消息,华为消费者BG手机产品线维护团队在花粉俱乐部发布公告:Mate 10/Mate 10 Pro(含保时捷设计)即将为内测用户推送Android P系统,预计将于9月5日16:00-18:0 ...
- 长按android版本,Android系统长按power实现键硬件关机—高通sdm845
1.软件层关机,跳过长按power键选择界面,直接关机 path:frameworks/base/services/core/java/com/android/server/policy/PhoneW ...
- 银联支付 android版本,Android Studio 银联支付
SKD解压之后是这样的 然后按照控件使用指南中4.3项开始集成 注意 1.libentryexpro.so和libuptsmaddon.so先不要拷贝到工程的libs/xxx/目录下 2.UPPayA ...
- 小米3连续快速点击android版本四次后出现屏幕是红的咋耨,小米3怎么打开usb调试...
小米3怎么打开usb调试 安卓手机要连接电脑,就必须开启USB调试模式,而通常手机默认是关闭USB调试模式的,这导致了不少用户无法成功将手机连接电脑,另外一些搭载安卓4.1以上系统的手机,开启USB调 ...
最新文章
- Subscriber class xxx ,xx already registered to event
- 近世代数--素理想和极大理想--有单位元的交换环,每个极大理想都是素理想
- 用Python求出:1到某个数的奇数序列里一共出现了多少个3
- MongoDB简介与入门
- MLP is Best?
- php mysql八大动态w...,PHP+MySQL八大动态Web应用实战
- 【拔刀吧少年】之awk文本和数据处理编程语言
- 应用上下文webApplicationContext
- Java修炼之路——基础篇——值传递
- 商用VR新时代已来临?IDC《VR产业研究白皮书》给出答案
- Spring3集成Swagger2遇到问题总结
- java从端口接收数据_java - Java中通过串行端口接收数据的效率更高 - 堆栈内存溢出...
- 综述 | 最新视觉-语言预训练综述
- cv2中函数名的规则
- 架构模式: API网关
- 有限元基础(一) Jacobian 矩阵和高斯积分
- win10如何搜索计算机网络ip,win10怎样查看电脑IP地址?,看完就明白了
- 圣人、仁人、君子、善人、士、小人之名简释
- 初级第七旬06—初级课程第七旬试题
- 互联网老辛2022年3月上旬社群精华
热门文章
- ArUco 相机校准(from images)
- 计算机组成原理 ---期末复习(珍藏版)
- BDTC 2017 | 知识图谱技术背后的应用与实践
- [软考] 高级架构师的认知
- 游戏配音外包目前存在的一些问题
- 杰奇CMS phpmyadmin清空数据库ID归零重新入库数据SQL语句教程
- 学习笔记(01):SAS数据分析:从入门到企业实战-SAS PROC步骤I-2
- PROE基本操作1(查看组件尺寸)
- Solidworks、Proe、Creo、UG史上最全的全套教学视频240G
- 前端原生javaScript,通过身份证号判断年龄、性别、出生日期。