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

       我想实现用一个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?

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。