在 Textview 中创建超链接 android

Make Hyperlink in Textview android

我想制作超链接 "TERMS" 和 "PRIVACY POLICY" 它在我的情况下不起作用:-

 mTermsPPText = (TextView) view.findViewById(R.id.bottom_text);
        String value = "<html>By joining you agree to our <font color=\"#3C599F\" ><a href=\"http://www.google.com/\">TERMS</a></font> & <font color=\"#3C599F\" ><a href=\"http://www.google.com/\">PRIVACY POLICY</a></font></html>";
        mTermsPPText.setText(value);

尝试这样做

mTermsPPText.setText(Html.fromHtml(value));
mTermsPPText.setMovementMethod(LinkMovementMethod.getInstance());

请为您的字符串使用 spannable 字符串,如下所示:

String value = "<html>By joining you agree to our <font color=\"#3C599F\" ><a href=\"http://www.google.com/\">TERMS</a></font> & <font color=\"#3C599F\" ><a href=\"http://www.google.com/\">PRIVACY POLICY</a></font></html>";

Spannable s = (Spannable) Html.fromHtml(value);
        URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
        for (URLSpan span: spans) {
            int start = s.getSpanStart(span);
            int end = s.getSpanEnd(span);
            s.removeSpan(span);
            span = new URLSpan(span.getURL());
            s.setSpan(span, start, end, 0);
        } 

        mTermsPPText.setText(s);

使用移动方式进行点击操作

    mTermsPPText.setMovementMethod(LinkMovementMethod.getInstance());

希望对您有所帮助。

//use set movement method before setting html page in textview

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

// than set text in html
t2.setText(Html.fromHtml(linkText));

// important thing is that you should use anchor tag in html to make link clickable

// dont use autolink in textview
<TextView
    android:id="@+id/t2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />