2011-04-08 25 views
7

Ho una casella di controllo con questo testo: "Accetto i termini e le condizioni". Ho bisogno di "termini e condizioni" per essere blu, sottolineato, e aprire una pagina web quando viene toccato.Inserire un collegamento ipertestuale nel testo di una casella di controllo?

Ho trovato la classe Linkify (http://developer.android.com/reference/android/text/util/Linkify.html), ma questo sembra trasformare gli URL già in testo in link.

Come posso fare questo?

risposta

3

Colore del testo blu e aggiungere un Listener onClick ad esso che avvia l'intento di visualizzare l'URL. È possibile contrassegnare il testo utilizzando la sintassi HTML come tramite Html.fromHtml(). Vedi this answer per una migliore spiegazione ed esempio.

+0

Ok, ma come faccio questo solo per la sottostringa "termini e condizioni"? –

+1

aggiornato per riflettere il tuo requisito aggiuntivo. –

+0

Grazie, è esattamente ciò di cui ho bisogno. –

15

basta usare la stringa come

"Sono d'accordo al < a href =" ... "> termini e condizioni </a>"

e impostare il metodo di movimento:

mCheckBoxTermsOfUse = (TextView) findViewById(R.id.checkBoxTermsOfUse); 
mCheckBoxTermsOfUse.setMovementMethod(LinkMovementMethod.getInstance()); 

Vedere api demos per dettagli

+0

che funziona, grazie! – pawegio

+0

Se aggiungo la funzione 'setMovementMethod()', non vedo il testo immediatamente, ma solo dopo aver cliccato una volta. C'è una soluzione? – offset

Problemi correlati