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ù)
我們先來(lái)看一個(gè)arraycopy的小例子
//靜態(tài)初始化兩個(gè)長(zhǎng)度不同的數(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.拷貝的長(zhǎng)度
-
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 長(zhǎng)度為3的數(shù)組(即多擊次數(shù)),最后一位 mHits[mHits.length-1] 存儲(chǔ)每次點(diǎn)擊的時(shí)間
每點(diǎn)擊一次 arraycopy一次

當(dāng)點(diǎn)擊夠了3次 即mHits[0]有值后判斷 最后一次點(diǎn)擊和第一次點(diǎn)擊的時(shí)間間隔,小于我們限定的時(shí)間則判定為三擊。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java編程中拷貝數(shù)組的方式及相關(guān)問(wèn)題分析
- Java中的數(shù)組復(fù)制(clone與arraycopy)代碼詳解
- Java concurrency集合之CopyOnWriteArraySet_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- java并發(fā)容器CopyOnWriteArrayList實(shí)現(xiàn)原理及源碼分析
- java讀取excel文件并復(fù)制(copy)文件到指定目錄示例
- JAVA 深層拷貝 DeepCopy的使用詳解
- Java拷貝數(shù)組方法Arrays.copyOf()是地址傳遞的證明實(shí)例
相關(guān)文章
MyBatis-Plus攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限控制的方法
MyBatis-Plus是一款基于MyBatis的增強(qiáng)工具,它提供了一些便捷的功能和增強(qiáng)的查詢能力,數(shù)據(jù)權(quán)限控制是在系統(tǒng)中對(duì)用戶訪問(wèn)數(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à)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Struts2實(shí)現(xiàn)文件上傳功能實(shí)例解析
這篇文章主要介紹了Struts2實(shí)現(xiàn)文件上傳功能實(shí)例解析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01
Spring MVC請(qǐng)求參數(shù)的傳遞方式
Spring MVC是一種基于Model-View-Controller(MVC)設(shè)計(jì)模式的輕量級(jí)Web框架,用于Java應(yīng)用程序的開發(fā),在處理HTTP請(qǐng)求時(shí),Spring MVC會(huì)涉及到請(qǐng)求參數(shù)的傳遞,本文給大家介紹了Spring MVC請(qǐng)求參數(shù)的傳遞方式,需要的朋友可以參考下2024-10-10
springboot+thymeleaf整合阿里云OOS對(duì)象存儲(chǔ)圖片的實(shí)現(xiàn)
本文主要介紹了springboot+thymeleaf整合阿里云OOS對(duì)象存儲(chǔ)圖片的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
繼承jpa?Repository?寫自定義方法查詢實(shí)例
這篇文章主要介紹了繼承jpa?Repository?寫自定義方法查詢實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12

