2013-08-13 11 views

Odpowiedz

13

XML:

android:linksClickable="true" 
android:autoLink="web|email" 

JAVA:

TextView textView = (TextView) findViewById(R.id.textViewId); 
textView.setText(Html.fromHtml(html)); 
textView.setMovementMethod(LinkMovementMethod.getInstance()); 
+3

To nie działa dla mnie. Użyłem wersji XML bez powodzenia. Tekst wygląda jak link, ale nie można go kliknąć. – lowellk

+0

Czy używasz 'textView.setText (Html.fromHtml (html));'? – squixy

+0

Nie musisz wtedy używać 'Linkify.addLinks (textView, Linkify.ALL)'. – squixy

10

do edycji tekstu, udało mi się dostać linki klikalne w następujący sposób. pierwszy wdrożone niestandardowej MovementMethod jak opisać here

Java

(Utwórz tekst edycji z XML lub kontekstu)

editText.setLinksClickable(true); 
editText.setAutoLinkMask(Linkify.WEB_URLS); 
editText.setMovementMethod(CustomMovementMethod.getInstance()); 
//If the edit text contains previous text with potential links 
Linkify.addLinks(editText, Linkify.WEB_URLS); 

Następnie do zarządzania, że ​​adresy URL wyglądać linki podczas gdy użytkownik wpisze

editText.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 


     } 

     @Override 
     public void afterTextChanged(Editable s) { 

       Linkify.addLinks(s, Linkify.WEB_URLS); 

     } 
    }); 
+0

To jest idealne. Czy istnieje sposób, aby to wdrożyć z możliwością wykrywania numerów telefonów i ich zaznaczania? –

+2

Tak @Collinux klasa [Linkify] (http://developer.android.com/reference/android/text/util/Linkify.html) obsługuje 4 typy: łącza internetowe, numery telefonów, e-maile i adresy map – pleonasmik

Powiązane problemy