один из ленивых реализации
private static final long DOUBLE_CLICK_TIME_DELTA = 300;//milliseconds
long lastClickTime = 0;
TextView tv = (TextView) findViewById(R.id.editTextID);
tv.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
long clickTime = System.currentTimeMillis();
if (clickTime - lastClickTime < DOUBLE_CLICK_TIME_DELTA){
lastClickTime = 0;
//double click
} else {
//single click
}
lastClickTime = clickTime;
}
});
но не быть ленивым, если используя двойной щелчок снова и снова. идти лучший способ .. Создать абстрактный класс гоу на ..
public abstract class DoubleClickListener implements 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);
}
использовать его в любом месте
view.setOnClickListener(new DoubleClickListener() {
@Override
public void onSingleClick(View v) {
}
@Override
public void onDoubleClick(View v) {
}
});
счастливым кодирования
возможный дубликат http://stackoverflow.com/questions/ 41586072/одного щелчка и двойной щелчок-в-EditText-в-андроида-используя-на-клик-слушателя-S/41586210 # 41586210 – W4R10CK