19

In my Android app, I have a TextView. The text can contain links. This is an example of a text:

This is just a test. Click the following link http://www.google.com to visit Google.

Note that the text is not in HTML; it will be just a regular text.

I want to do something like textView.parseLinks(), then in the TextView, http://www.google.com will be hyper-linked and clickable to open up the page.

Is this possible?

Thanks

4

5 回答 5

63

Try and include the following in the TextView definition in XML file:

<TextView
    ...
    android:autoLink="web"/>

The docs of android:autoLink say:

Controls whether links such as urls and email addresses are automatically found and converted to clickable links

So for automatically finding links, the above may help. Try and see.

于 2013-08-14T03:06:13.220 回答
6

Something like this should work.

    TextView tv = (TextView) findViewById(R.id.textView1);
    String text = "This is just a test. Click this link here <a href=\"http://www.google.com\">Google</a> to visit google.";
    tv.setMovementMethod(LinkMovementMethod.getInstance());
    tv.setText(Html.fromHtml(text));
于 2013-08-14T03:06:41.400 回答
5
    <TextView
        ...
        android:autoLink="..."/>
//set  ... by web|email|none|phone|map|all according to your need

// to change link color add below line android:textColorLink="@color/yourcolor"

于 2013-12-07T06:52:51.307 回答
2

try this..it is working for me

  <TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:text="click here http://www.google.com/"/>
于 2013-08-14T04:03:11.533 回答
1

Simple way to make selecting URL and Phone numbers in TextView:

TextView textView = (TextView)findViewById(R.id.textView1);
textView.setText("some url is www.google.com phone 7504567890 another url lkgndflg.com ");
Linkify.addLinks(textView, Linkify.WEB_URLS | Linkify.PHONE_NUMBERS);
于 2016-04-27T06:34:12.717 回答