Próbowałem zaimplementować kod z tego pytania: Detecting a long press with Android, ale zawsze wykrywa długie naciśnięcie, nawet jeśli po prostu dotknę go. Mój kod wygląda następująco (I przedłużony ImageView
, bo więcej jest w nim kod, nie ma znaczenia dla tego pytania):Długie naciśnięcie w GestureDetector również uruchamia się z kranu
public class EbsImageView extends ImageView {
final GestureDetector gestureDetector = new GestureDetector(this.getContext(), new GestureDetector.SimpleOnGestureListener() {
public void onLongPress(MotionEvent e) {
Log.e("", "Longpress detected");
}
public boolean onSingleTapUP(MotionEvent e) {
Log.e("", "Press detected");
// don't consume, we want the long press to fire if it was a
// long press
return false;
}
});
@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
}
return false z onTouchEvent() –
@ Eu.Dr. nie ma znaczenia, próbowałem również kod z: http://developer.android.com/training/gestures/detector.html, ale ten sam problem. –
gdzie jest Twoja adnotacja @Override na onLongPress i onSingleTapUp? To tylko niepowodzenie kopiowania/wklejania? – Opiatefuchs