Wenn ich Code eintrug, um ein Kontextmenü anzuzeigen, funktionierte es gut, außer dass das Menü nicht nur nach einem stationären langen Drücken sondern auch (unerwünscht) am Ende erschien von einem Ziehen.Android: Wie kann ich verhindern, dass ein Ziehen als langes Drücken interpretiert wird
Ich konnte dies verhindern, indem ich ein ScrollInProgress-Flag zur Ansicht hinzufüge, indem ich dieses Flag am Anfang der Methode onCreateContextMenu (...) ankreuze und das Flag durch Umgehen des Codes gesetzt wird Das fügt dem Kontextmenü Elemente hinzu.
Ich frage mich jedoch, ob es eine einfachere Möglichkeit gibt, das Erstellen eines Kontextmenüs zu verhindern, wenn der Bildschirm gezogen wird.
Wir haben keine Ahnung, ohne etwas Code zu sehen. Zeigen Sie uns, wie Sie Verzögerungen/lange Klicks erkennen. – Falmarri
Als Antwort auf Falmarri: Ich habe eine Klasse MyGestureDetector definiert, die SimpleOnGestureListener erweitert; Innerhalb dieser Klasse wird die Methode onScroll (...) außer Kraft gesetzt, und dort setze ich das Attribut scrollInProgress auf true; In der Hauptaktivierung der App ist die Zeile 'gestenDetektor = neuer GestenDetektor (new MyGestureDetector());'. So wird der Start eines Scrolls (Drag) erkannt. Das lange Drücken wird einfach durch Einfügen des Befehls 'registerForContextMenu (myView); 'in der onCreate-Aktivität der Hauptaktivität (...) und dann Schreiben von Code für' onCreateContextMenu 'und' onContextItemSelected 'erkannt. – prepbgg
Bitte lassen Sie mich wissen, wenn ich diese Beschreibung überhaupt ausfüllen muss. – prepbgg