我想实现用一个TextView中间某一小段文字做成超链接,点击后能调用系统默认浏览器,跳转到指定网页这么一个功能。自己先折腾了一下没搞定,又在网上看了很多资料,很多都说在代码中用什么SpannedHtml.fromHtml()之类的来设置TextView,搞得还挺复杂,然后在布局里给Textview里添加 android:autoLink="web"android:linksClickable="true"什么什么的,但各种方法我都试了,不知道为什么,居然全都是Shit!点击后还是没任何反应。

       最后无奈还得上StackOverflow查了一下,结果找到正解了!而且竟然实现起来比绝大多数人说的方法都简单得多!废话不多说,我马上把实现方法贴在下面:

       1.首先在strings.xml文件中直接写上TextView要显示的超链接文字,如下,超链接用html标签的写法来就行了

<string name="signup_agreeTerms">我同意<a href="http://www.baidu.com/">用户协议</a>中的所有内容</string>

       2.然后你得在布局中拥有一个这样的TextView,注意,不要再添加什么autoLink、linksClickable属性之类的

<TextView
    android:id="@+id/signup_txt_agreeTerms"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/signup_agreeTerms"/>

       3.在你的Activity中,添加如下代码

TextView textview = (TextView) findViewById(R.id.signup_txt_agreeTerms);
textview.setMovementMethod(LinkMovementMethod.getInstance());  //其实就这一句是关键

       这样就OK了,太简单了……

       附上参考的StackOverflow地址:How do I make links in a TextView clickable?