Wie kann ich onTouchListeners für jedes Wort in einem TextView verwenden?

8

Ich möchte jedem Wort in einem TextView onTouchListeners zuweisen. (Nicht mit etwas im Internet verlinken, sondern nur um die Spiellogik in der App fortzusetzen). Die allgemeine Handlung meines Spiels an diesem Punkt ist, ein TextView zu sehen, ein Wort zu berühren, wenn es das Zielwort ist, das du gewinnst, oder ein anderes TextView basierend auf dem Wort zu laden, das du anfasst und wiederholst. Die Art, wie ich das jetzt bewerkstellige, ist mit ClickableSpans und onClicks für jedes Wort.

Aber ich hätte lieber onTouchListeners, damit ich die Farbe des Hintergrunds des Wortes auf touch_down ändern und die Spiellogik auf touch_up machen kann, damit es reaktionsschneller aussieht. Wie kann ich das erreichen?

%Vor%     
elliptic1 22.08.2011, 01:34
quelle

1 Antwort

23

Also habe ich ClickableSpan.java kopiert und TouchableSpan.java gemacht:

%Vor%

Und ich habe LinkMovementMethod.java auf LinkTouchMovementMethod.java erweitert. Die Methode onTouchEvent ist dieselbe, außer dass onClick in onTouch geändert wird und eine neue Zeile hinzugefügt wird:

%Vor%

Und setze MovementMethod in deinem Code entsprechend:

%Vor%

Nun um den Text anzuzeigen:

%Vor%     
elliptic1 03.09.2011, 10:09
quelle