Попробуйте что-то вроде этого:
Button b = new Button() {
private long pressTime;
public void pressed() {
pressTime = System.currentTimeMillis();
}
public void released(int x, int y) {
if(System.currentTimeMillis() - pressTime > LONG_TAP_TIME) {
longTap();
} else {
shortTap();
}
}
};