I have getting dynamic text from a web service and showing the same in a TextView. Sometimes the TextView has url like <a href="http://hello.com">hello</a>
. I have set the text using the following code.
textView.setText(Html.fromHtml(sampletext));
And also set android:autoLink="web"
in the corresponding xml of that contains the TextView
. Now the link is showing properly with blue color and underline, but I found the its just a dead link. Nothing is happening if we try to click it. What I have to do to make the link active?
In Android, the most common way to show a text is by TextView element. The whole text in the TextView is easy to make clickable implementing the onClick attribute or by setting an onClickListener to the TextView.
To call linkify in android, we have to call linkify. addLinks(), in that method we have to pass textview and LinkifyMask. Linkify. WEB_URLS: It going make URL as web url, when user click on it, it going to send url to default web browsers.
After revisiting all solutions, a summary with some explanations:
android:autoLink="web"
will find an URL and create a link even if android:linksClickable is not set, links are by default clickable. You don't have to keep the URL alone, even in the middle of a text it will be detected and clickable.
<TextView android:text="My web site: www.stackoverflow.com" android:id="@+id/TextView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:autoLink="web"> </TextView>
To set a link via the code, same principle, no need for pattern or android:autoLink in layout, the link is found automatically using Linkify:
final TextView myClickableUrl = (TextView) findViewById(R.id.myClickableUrlTextView); myClickableUrl.setText("Click my web site: www.stackoverflow.com"); Linkify.addLinks(myClickableUrl, Linkify.WEB_URLS);
This works for me:
<TextView android:text="www.hello.com" android:id="@+id/TextView01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:autoLink="web"> </TextView>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With