您的位置:首页 > 其它

超简单实现TextView中某段文字超链接点击打开浏览器跳转到网页

2015-01-21 17:38 756 查看
我想实现用一个TextView中间某一小段文字做成超链接,点击后能调用系统默认浏览器,跳转到指定网页这么一个功能。自己先折腾了一下没搞定,又在网上看了很多资料,很多都说在代码中用什么Spanned、Html.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?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: