Autolink inside a TextView in android

别等时光非礼了梦想. 提交于 2019-11-27 12:22:18

问题


How to give autolink for some part of textview ? For example : My text inside TextView is "Please click here to open this webpage". I want to show link for only the text "here". And I should open that webpage onclick of the text "here" but not on the anywhere of TextView.


回答1:


Put a String in string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="txtCredits">Support: <a href="http://www.stackoverflow.com">click here</a></string>
</resources>

And you can use it in textView like this:

<TextView
        android:layout_width="fill_parent"
        android:id="@+id/text"
        android:layout_height="wrap_content"
        android:autoLink="web"
        android:gravity="center"
        android:linksClickable="true"
        android:text="@string/txtCredits" />

EDIT

For some reason above code does not work properly. So, add below code also,

TextView t2 = (TextView) findViewById(R.id.text);
t2.setMovementMethod(LinkMovementMethod.getInstance());



回答2:


Textviews are capable of displaying HTML, which solves your problem. Wrap what you want clickable in a hyperlink:

String html = "My link is <a href=\"http://google.com\">here</a>";
myTextView.setText(Html.fromHtml(html));



回答3:


use simple Url in strings.xml :

<string name="autolink_val">Please Click Here : http://www.google.com</string>

And in Java code write this:

<TextView android:id="@+id/linkVal"   
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:autoLink="web" 
          android:text="@string/autolink_val1"/>`



回答4:


Use HTML syntax in strings.xml:

<string name="test">Click &lt;a href="http://vtuhtan.info"&gt;here&lt;/a&gt;</string>

Set TextView properties to have links clickable and auto link.

TextView tv = findViewById(R.id.textView);
tv.setText(Html.fromHtml(getResources().getString(R.string.test)));



回答5:


You can test it with following code:

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="http://www.yahoo.com"
    android:autoLink="web"
    />


来源:https://stackoverflow.com/questions/10246366/autolink-inside-a-textview-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!