Skip to content

Instantly share code, notes, and snippets.

@tbruyelle
Created July 31, 2014 09:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tbruyelle/cd1178f7b7a4ffb1fa12 to your computer and use it in GitHub Desktop.
Save tbruyelle/cd1178f7b7a4ffb1fa12 to your computer and use it in GitHub Desktop.
SingleClickListener
package com.tweetping.util;
import android.os.SystemClock;
import android.view.View;
import android.widget.AdapterView;
public abstract class SingleClickListener
implements AdapterView.OnItemClickListener, View.OnClickListener {
private static final long MIN_CLICK_INTERVAL = 600;
private long mLastClickTime;
@Override
public void onClick(View v) {
onClick_(v, -1);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
onClick_(view, position);
}
public abstract void onSingleClick(View view, int position);
private void onClick_(View v, int position) {
long currentClickTime = SystemClock.uptimeMillis();
long elapsedTime = currentClickTime - mLastClickTime;
mLastClickTime = currentClickTime;
if (elapsedTime <= MIN_CLICK_INTERVAL) {
return;
}
onSingleClick(v, position);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment