Das Problem ist, dass, wenn ich den textView verlinke, die untergeordnete ScrollView nicht die Sweep-Gesten höre, die ich eingestellt habe. Gibt es eine Möglichkeit, Linkify zu haben, ohne mit den Gesten der darunterliegenden View herumzuhantieren? Ich habe versucht, ontouchEvent zu überschreiben und false an ACTION_MOVE zurückzugeben, aber die Geste der scrollview benötigt das Ereignis ACTION_DOWN und ACTION_UP, um zu funktionieren. Gibt es einen Weg, das zu erreichen?
Linkify
gilt für eine Bewegung in der textView LinkMovementMethod
. Diese Bewegungsmethode dachte, dass sie eine vertikale Scroll-Methode implementiert, die jede andere Scroll-Methode des Parent überschreibt. Obwohl touchEvent
an den Elternteil weitergegeben werden kann, benötigte der spezifische Elternteil ScrollView
die gesamte Sequenz ACTION_DOWN
, ACTION_MOVE
, ACTION_UP
, die ausgeführt werden sollte (Sweep-Erkennung).
Also ist die Lösung für mein Problem nach Linkify, um die scrolling-Methode von textView zu entfernen und die LinkMovementMethod
link-Erkennungsaktion in onTouchEvent
der textView zu behandeln.
Auf diese Weise habe ich die Link_Click-Erkennung (die nur mit dem Benutzer ausgeführt wird, berührt den Link und nicht die gesamte Textansicht) und ich habe nicht die gesamte LinkMovementMethode.
@weakwire und @Ridicully Antworten sind korrekt. Ich habe gerade einen kleinen Hinweis erstellt, den du in deinem Projekt wiederverwenden kannst.
Dies ist der Link: Ссылка
Da ist eine kleine schlechte Sache TextView :: setText (...) Methode mit AutoLink-Flag,
%Vor%Also verbrachte ich eine Zeit zu verstehen, Warum deaktiviere ich Links in ListView , aber es erhält manchmal eine Verbindung!
Sie müssen dieses Flag im benötigten Wert setzen und rufe dann einen setText (...)
auf