Eine Zeichenkette anklickbar machen, in einer TextView unterstrichen

8

Ich möchte die Zeichenfolge "this link" unterstrichen und anklickbar machen, aber ich weiß nicht, wie ich das erreichen soll.

XML-Datei:

%Vor%

In meinem Fragment:

%Vor%

Ich möchte nicht, dass die ganze Zeichenfolge anklickbar ist, nur der unterstrichene Abschnitt. Ich kann kein horizontales LinearLayout mit 2 Zellen verwenden, weil die Zeichenfolge auf kleineren Geräten kein fortlaufendes Aussehen hat, sondern in 2 Zellen unterteilt wird.

Was habe ich versucht:

%Vor%

Der obige Code macht die ganze Zeichenfolge unterstrichen und die Farbe des Textes wird in hellblau geändert.

    
Zbarcea Christian 02.04.2015, 08:37
quelle

5 Antworten

6

Das Problem besteht darin, dass Sie den Bereich auf die gesamte Zeichenfolge festlegen ( sp.setSpan(click, 0, sp.length() ). Um das Problem zu beheben, müssen Sie den anklickbaren Bereich nur auf this link setzen. Ich habe das Gleiche gemacht:

%Vor%

in Ihrer Aktivität

%Vor%

wobei startIndex und endIndex der Index von thisLink in yourString sind. Ich habe die beiden Strings getrennt, weil es einfacher war, nach den Indizes zu suchen, besonders wenn Sie mit Übersetzungen arbeiten müssen. Um den startIndex zu berechnen, können Sie yourString.indexOf(thisLink) verwenden, und endIndex ist startIndex + the length of thisLink . Ich überlasse Ihnen die üblichen Prüfungen (negative Indizes und alles andere, was eine IndexOutBoundException verursachen könnte)

    
Blackbelt 02.04.2015, 08:57
quelle
2

können Sie in Ihrer strings.xml

definieren %Vor%     
Satty 02.04.2015 08:49
quelle
1
%Vor%

in Aktivität // Beispiel

%Vor%

Hier finden Sie für eine detailliertere Antwort

    
Karthika PB 02.04.2015 08:50
quelle
0
___ answer29408880 ___

Das Problem besteht darin, dass Sie den Bereich auf die gesamte Zeichenfolge festlegen ( %code% ). Um das Problem zu beheben, müssen Sie den anklickbaren Bereich nur auf %code% setzen. Ich habe das Gleiche gemacht:

%Vor%

in Ihrer Aktivität

%Vor%

wobei startIndex und endIndex der Index von %code% in %code% sind. Ich habe die beiden Strings getrennt, weil es einfacher war, nach den Indizes zu suchen, besonders wenn Sie mit Übersetzungen arbeiten müssen. Um den startIndex zu berechnen, können Sie %code% verwenden, und endIndex ist %code% . Ich überlasse Ihnen die üblichen Prüfungen (negative Indizes und alles andere, was eine %code% verursachen könnte)

    
___ answer29408734 ___

können Sie in Ihrer strings.xml

definieren %Vor%     
___ qstntxt ___

Ich möchte die Zeichenfolge "this link" unterstrichen und anklickbar machen, aber ich weiß nicht, wie ich das erreichen soll.

XML-Datei:

%Vor%

In meinem Fragment:

%Vor%

Ich möchte nicht, dass die ganze Zeichenfolge anklickbar ist, nur der unterstrichene Abschnitt. Ich kann kein horizontales %code% mit 2 Zellen verwenden, weil die Zeichenfolge auf kleineren Geräten kein fortlaufendes Aussehen hat, sondern in 2 Zellen unterteilt wird.

Was habe ich versucht:

%Vor%

Der obige Code macht die ganze Zeichenfolge unterstrichen und die Farbe des Textes wird in hellblau geändert.

    
___ qstnhdr ___ Eine Zeichenkette anklickbar machen, in einer TextView unterstrichen ___ answer29408741 ___
%Vor%

in Aktivität // Beispiel

%Vor%

Hier finden Sie für eine detailliertere Antwort

    
___ antwort43315362 ___
%Vor%

Wert ändern 0: mit Position beginnen Link im Text, Beispiel Wert ändern mit: 10 Wenn Sie 0 einstellen, wird der gesamte Text mit einem Hyperlink verknüpft.

    
___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ answer29408627 ___

Sie können mit dem folgenden Code versuchen ..

%Vor%

Zur Handhabung Klicken Sie auf Ereignis in der Textansicht mit der folgenden Methode

%Vor%     
___ tag123textview ___ Android-Widget, das dem Benutzer Text anzeigt und es ihm optional ermöglicht, ihn zu bearbeiten. Ein TextView ist ein vollständiger Texteditor, jedoch ist die Basisklasse so konfiguriert, dass keine Bearbeitung möglich ist ___ tag123underline ___ Eine Unterstreichung ist eine mehr oder weniger horizontale Linie unmittelbar unter einem Textabschnitt. Im Allgemeinen wird es verwendet, um Schlüsselwörter oder wichtige Passagen hervorzuheben. Nicht zu verwechseln mit "Unterstrich", der für das Zeichen "_" verwendet wird. ___ tag123hyperlink ___ Ein Hyperlink ist eine Referenz auf ein Dokument (oder einen Abschnitt), das zum Abrufen verwendet werden kann, wobei ein Navigationssystem verwendet wird, mit dem betonter Inhalt in einem Ursprungsdokument ausgewählt werden kann. ___
quelle
-1

Sie können mit dem folgenden Code versuchen ..

%Vor%

Zur Handhabung Klicken Sie auf Ereignis in der Textansicht mit der folgenden Methode

%Vor%     
Android Team 02.04.2015 08:43
quelle