[英]Double Click Problem in android with java
我創建了一個 Java Class 用於雙擊,但我無法雙擊該項目,因為當我只單擊一次時,該項目不會等待雙擊!
雙擊 Class 代碼
package com.programiner.studyvillaadmin.Classes.Listener;
import android.view.View;
public abstract class DoubleClickListener implements View.OnClickListener {
private static final long DOUBLE_CLICK_TIME_DELTA = 300;//milliseconds
long lastClickTime = 0;
@Override
public void onClick(View v) {
long clickTime = System.currentTimeMillis();
if (clickTime - lastClickTime < DOUBLE_CLICK_TIME_DELTA){
onDoubleClick(v);
lastClickTime = 0;
} else {
onSingleClick(v);
}
lastClickTime = clickTime;
}
public abstract void onSingleClick(View v);
public abstract void onDoubleClick(View v);
}
private long mLastClickTime = 0;
@Override
public void onClick(View v) {
if (SystemClock.elapsedRealtime() - mLastClickTime < 1000) //*1000 is time to perform second click*
return; *// return when second click happen in second*
mLastClickTime = SystemClock.elapsedRealtime();
GameSound.getInstance(getApplicationContext()).sound__(GameSound.buttonClick);
if (v == findViewById(R.id.tvUsername)) {
StartActivity(UserProfile.class);
}
}
例子
public long mLastClickTime = 0;
//聲明和定義public
holder.itemView.setOnClickListener(new View.OnClickListener() { //click lister of itemview of RV Adapter
@Override
public void onClick(View v) {
if (SystemClock.elapsedRealtime() - mLastClickTime < 1000) //*1000 is time to perform second click*
return; // return when second click happen in second*
mLastClickTime = SystemClock.elapsedRealtime();
//do stuff here...
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.