java用arraycopy實(shí)現(xiàn)多擊事件
本文實(shí)例為大家分享了java用arraycopy實(shí)現(xiàn)多擊事件的3種方法,供大家參考,具體內(nèi)容如下
1、雙擊事件的實(shí)現(xiàn)
我們規(guī)定兩次點(diǎn)擊的事件間隔在500毫秒內(nèi)為雙擊事件,這一值可以隨意限定。
bt_click.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(startTime!=0){
long endTime = System.currentTimeMillis();
if(endTime-startTime<500){
Toast.makeText(getApplicationContext(), "點(diǎn)擊了兩下", 0).show();
}
}
startTime = System.currentTimeMillis();
}
});
2、arraycopy用法
arraycopy是用于數(shù)組復(fù)制的一個(gè)函數(shù)
我們先來看一個(gè)arraycopy的小例子
//靜態(tài)初始化兩個(gè)長度不同的數(shù)組
int src[] = {1,2,3,4,5,6};
int dest[] = {10,9,8,7,6,5,4,3,2,1};
//將數(shù)組src的4個(gè)元素copy到數(shù)組dest中
System.arraycopy(src,1,dest,2,4);
//輸出數(shù)組dest
for(int i=0;i<10;i++)
{
System.out.println(dest[i]);
}
輸出結(jié)果

由結(jié)果我們可以看出arraycopy的用法
參數(shù):
1.原數(shù)組(要被拷貝的數(shù)組)
2.原數(shù)組的拷貝起始位置索引值
3.目標(biāo)數(shù)組(原數(shù)組的數(shù)據(jù)—拷貝–>目標(biāo)數(shù)組)
4.目標(biāo)數(shù)組接受值的起始索引位置
5.拷貝的長度
-
3、多擊事件的實(shí)現(xiàn)
private long[] mHits = new long[3];
bt_many_click.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
mHits[mHits.length-1] = SystemClock.uptimeMillis();
if(mHits[mHits.length-1]-mHits[0]<500){
//響應(yīng)了一個(gè)三擊事件
Toast.makeText(getApplicationContext(), "點(diǎn)擊了三下!!!!", 0).show();
}
}
});
mHits 長度為3的數(shù)組(即多擊次數(shù)),最后一位 mHits[mHits.length-1] 存儲每次點(diǎn)擊的時(shí)間
每點(diǎn)擊一次 arraycopy一次

當(dāng)點(diǎn)擊夠了3次 即mHits[0]有值后判斷 最后一次點(diǎn)擊和第一次點(diǎn)擊的時(shí)間間隔,小于我們限定的時(shí)間則判定為三擊。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis-Plus攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制的方法
MyBatis-Plus是一款基于MyBatis的增強(qiáng)工具,它提供了一些便捷的功能和增強(qiáng)的查詢能力,數(shù)據(jù)權(quán)限控制是在系統(tǒng)中對用戶訪問數(shù)據(jù)進(jìn)行限制的一種機(jī)制,這篇文章主要給大家介紹了關(guān)于MyBatis-Plus攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制的相關(guān)資料,需要的朋友可以參考下2024-01-01
Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值
這篇文章主要介紹了Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Struts2實(shí)現(xiàn)文件上傳功能實(shí)例解析
這篇文章主要介紹了Struts2實(shí)現(xiàn)文件上傳功能實(shí)例解析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
springboot+thymeleaf整合阿里云OOS對象存儲圖片的實(shí)現(xiàn)
本文主要介紹了springboot+thymeleaf整合阿里云OOS對象存儲圖片的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
繼承jpa?Repository?寫自定義方法查詢實(shí)例
這篇文章主要介紹了繼承jpa?Repository?寫自定義方法查詢實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12

