شاركت هذه المقالة معك ثلاث طرق لتنفيذ أحداث متعددة القرود باستخدام ArrayCopy للرجوع إليها. المحتوى المحدد كما يلي
1. تنفيذ أحداث النقر المزدوج
ننص على أن الفاصل الزمني بين النقرتين هو حدث نقر مزدوج خلال 500 ميلي ثانية ، ويمكن أن تكون هذه القيمة محدودة في الإرادة.
bt_click.setonClickListener (new onClickListener () {Override public void onclick (view v) {if (startTime! = 0) {long endtime = system.currentTimeMillis () ؛ if (endtime-startTime <500) System.CurrentTimeMillis () ؛2. استخدام arraycopy
ArrayCopy هي وظيفة تستخدم لنسخ المصفوفة
دعونا نلقي نظرة أولاً على مثال صغير على ArrayCopy
// تهيئة بشكل ثابت من المصفوفتين من أطوال مختلفة int src [] = {1،2،3،4،5،6} ؛ int dest [] = {10،9،8،7،6،5،4،3،2،1} ؛ // انسخ العناصر الأربعة لـ Array SRC في نظام القمامة. // output array 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.length-1] = systemclock.uptimillis () ؛ if (mhits [mhits.length-1] -mhits [0] <500) {// ردود على Toast.maketext (getApplicationContext () ، "نقر ثلاث مرات !!!" ، 0) .Show () ؛صفيف mhits بطول 3 (أي ، ضربات متعددة) ، آخر بت mhits [mhits.length-1] يخزن وقت كل نقرة
arraycopy مرة واحدة لكل نقرة
عندما يتم تحديد الفاصل الزمني بين النقر الأخير والنقر الأول بعد أن يكون لـ MHITS [0] قيمة ، يتم تحديده على أنه ثلاث مرات إذا كان الوقت أقل من وقتنا المحدود.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.