How to make normal links in TextView clickable?

2019-01-17 07:46发布

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

5条回答
在下西门庆
2楼-- · 2019-01-17 07:55

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));
查看更多
欢心
3楼-- · 2019-01-17 07:55

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);
查看更多
我想做一个坏孩纸
4楼-- · 2019-01-17 07:59

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.

查看更多
ら.Afraid
5楼-- · 2019-01-17 08:04
    <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"

查看更多
6楼-- · 2019-01-17 08:09

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/"/>
查看更多
登录 后发表回答