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)文章
java學(xué)習(xí)指南之字符串與正則表達(dá)式
在日常Java后端開(kāi)發(fā)過(guò)程中,免不了對(duì)數(shù)據(jù)字段的解析,自然就少不了對(duì)字符串的操作,這其中就包含了正則表達(dá)式這一塊的內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于java學(xué)習(xí)指南之字符串與正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下2023-05-05MyBatis深入解讀動(dòng)態(tài)SQL的實(shí)現(xiàn)
動(dòng)態(tài) SQL 是 MyBatis 的強(qiáng)大特性之一。如果你使用過(guò) JDBC 或其它類似的框架,你應(yīng)該能理解根據(jù)不同條件拼接 SQL 語(yǔ)句有多痛苦,例如拼接時(shí)要確保不能忘記添加必要的空格,還要注意去掉列表最后一個(gè)列名的逗號(hào)。利用動(dòng)態(tài) SQL,可以徹底擺脫這種痛苦2022-04-04Spring Boot 深入分析AutoConfigurationImportFilter自動(dòng)化條件
這篇文章主要分析了Spring Boot AutoConfigurationImportFilter自動(dòng)化條件配置源碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-07-07POI對(duì)Excel自定義日期格式的讀取(實(shí)例代碼)
下面小編就為大家?guī)?lái)一篇POI對(duì)Excel自定義日期格式的讀取(實(shí)例代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11IntelliJ IDEA修改內(nèi)存大小,使得idea運(yùn)行更流暢
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA修改內(nèi)存大小,使得idea運(yùn)行更流暢的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10