转自 http://m.blog.csdn.net/blog/lpforever/42971241 html
我想实现用一个TextView中间某一小段文字作成超连接,点击后能调用系统默认浏览器,跳转到指定网页这么一个功能。本身先折腾了一下没搞定,又在网上看了不少资料,不少都说在代码中用什么Spanned、Html.fromHtml()之类的来设置TextView,搞得还挺复杂,而后在布局里给Textview里添加 android:autoLink="web"、android:linksClickable="true"什么什么的,但各类方法我都试了,不知道为何,竟然全都是Shit!点击后仍是没任何反应。java
最后无奈还得上StackOverflow查了一下,结果找到正解了!并且居然实现起来比绝大多数人说的方法都简单得多!废话很少说,我立刻把实现方法贴在下面:android
1)首先在strings.xml文件中直接写上TextView要显示的超连接文字,以下,超连接用html标签的写法来就好了web
<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?浏览器