Android: Verwenden von LinkMovementMethod zum Bearbeiten von Text

8

Ich möchte grundsätzlich die LinkMovementMethod -Klasse verstehen. Ich habe ein Bild im Bearbeitungstext, das anklickbar sein muss. Also habe ich LinkMovementMethod.getInstance für den Bearbeitungstext verwendet. Aber wegen dieses LinkMovementMethod-Objekts sind die Optionen des Kontextmenüs (lang drücken) zum Bearbeiten von Text wie Kopieren, Ausschneiden, Einfügen nicht sichtbar. Außerdem kann ich den Cursor nicht im Bearbeitungstext positionieren. Irgendwie versteckt sich der Cursor.

Ist es der richtige Ansatz, LinkMovementMethod in Bearbeitungstext zu verwenden oder ist es erforderlich, eine benutzerdefinierte LinkMovementMethod-Klasse für das Cursor- und Kontextmenüproblem zu schreiben.

%Vor%

-Regale, Ron ..

    
Ron 12.10.2011, 14:28
quelle

2 Antworten

2

Sie sollten LinkMovementMethod nicht mit bearbeitbarem Text verwenden. LinkMovementMethod ist eine Bewegungsmethode, mit der Sie zwischen den Links wechseln können ... was für einen Texteditor nicht gewünscht ist, da Sie die Bewegungsmethode verwenden sollten, die den Cursor zum Bearbeiten bewegt.

Was erwarten Sie von Links in editierbarem Text? Wenn Sie bearbeitbaren Text haben, wird durch Tippen auf den Text der Cursor an diesen Punkt verschoben, um ihn zu bearbeiten. Es öffnet den Link nicht. Dies sind zwei widersprüchliche Dinge. Wenn Sie ein anderes Verhalten haben möchten, müssen Sie die Textansicht anpassen, um etwas Spezielles zu tun und herausfinden, wie Sie zwischen der Bearbeitung des Linktexts und dem Öffnen unterscheiden (z. B. Google Docs zeigt Ihnen ein Popup-Fenster an) Wählen Sie, um es zu öffnen, wenn Sie es nicht bearbeiten möchten. Aber Sie müssen das selbst programmieren, es gibt kein magisches eingebautes Ding, das das im gegenwärtigen Rahmen implementiert.

    
hackbod 29.07.2012 03:43
quelle
0

Eine Möglichkeit ist extends EditText

%Vor%     
boiledwater 25.04.2013 05:45
quelle

Tags und Links