この記事では、リファレンスのためにArrayCopyを使用してマルチクリックイベントを実装する3つの方法を共有しています。特定のコンテンツは次のとおりです
1。ダブルクリックイベントの実装
2回のクリック間の間隔は500ミリ秒以内のダブルクリックイベントであり、この値は自由に制限できると規定しています。
bt_click.setonclicklistener(new onclickListener(){@Override public void onclick(view v){if(starttime!= 0){long endtime = system.currenttimemillis(); if(endtime-starttime <500){toast.maketext(getapplicatedcontext( } starttime = system.currenttimemillis()}});2。arraycopyの使用
ArrayCopyは、配列のコピーに使用される関数です
まず、ArrayCopyの小さな例を見てみましょう
//異なる長さの2つの配列を静的に初期化int src [] = {1,2,3,4,5,6}; int dest [] = {10,9,8,7,6,5,4,3,2,1}; //配列SRCの4つの要素を配列dest System.ArrayCopy(SRC、1、DEST、2,4)にコピーします。 //出力配列Dest for(int i = 0; i <10; i ++){system.out.println(dest [i]); }出力結果
結果から、arraycopyの使用がわかります
パラメーター:
1。元の配列(コピーする配列)
2。元の配列のコピー開始位置のインデックス値
3。ターゲット配列(元の配列のデータ - コピー>ターゲット配列)
4.ターゲット配列の開始インデックス位置は値を受け入れます
5。コピー長
-
3。マルチストライクイベントの実装
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.lengting-1] = systemclock.uptimemillis(); if(mhits [mhits.length-1] -mhits [0] <500){// 3クリックイベントtoast.makeText(getApplicationContext()、 "3回!!!"、0); show()});長さ3(つまり、複数のヒット)を備えたMHITSアレイ、最後のビットMHITS [MHITS.Length-1]は各クリックの時間を保存します
クリックごとに1回arraycopy
最後のクリックと最初のクリックの間の時間間隔がMHITS [0]の値がある後に決定されると、時間が限られた時間より短い場合、3ヒットとして決定されます。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。