tags:

views:

372

answers:

2

I've written an app which contains a large textview for displaying notes. Is it possible to have the textview highlight any phone numbers or hyperlinks without underlining the entire view?

A: 

You can use Linkify to turn phone numbers, URLs, and such into links that, when clicked on, launch appropriate apps (Dialer, Browser, etc.).

If you were fishing for just an underline effect, without the links, you can:

  1. Mark up your text with HTML, particularly <u>...</u> for underlines
  2. Run that through Html.fromHtml() to get a Spannable with your formatting in place
  3. Feed that Spannable to your TextView via setText()

Here is the list of HTML tags supported by Android 2.1's edition of Html.fromHtml(). Note that this is not officially documented anywhere, so your mileage may vary.

CommonsWare
Thank you. I wasn't aware of that class. I'll look into that.
Chris
+4  A: 
<TextView 
   ...
   android:autoLink="all"
/>

That's actually enough for you

Fedor
Thank you. That's exactly what I needed.
Chris
Yeah, I keep forgetting about this. `Linkify` is good if you need more control, or only want to apply a conversion to part of the text.
CommonsWare