字符串中包含链接,点击链接跳转指定位置

有时候一个String字符串中包含有链接,我们需要设置下划线以及高亮显示,这时候需要使用 Android:autoLink=”web” 这个属性,但是这个链接点击只能到浏览器中,这时需要我们在代码中进行设置!
XML文件内容:

<TextView  
    android:id="@+id/text_view"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:autoLink="web"  
    android:text="@string/hello" /> 

Activity代码内容:

public class MainActivity extends Activity {


    TextView tv;  

    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        tv = (TextView) findViewById(R.id.tv);  
        CharSequence text = tv.getText();  
        if (text instanceof Spannable) {  
            int end = text.length();  
            Spannable sp = (Spannable) text;  
            URLSpan urls[] = sp.getSpans(0, end, URLSpan.class);  
            SpannableStringBuilder style = new SpannableStringBuilder(text);  
            style.clearSpans();  
            for (URLSpan urlSpan : urls) {  
                MyURLSpan myURLSpan = new MyURLSpan(urlSpan.getURL());  
                style.setSpan(myURLSpan, sp.getSpanStart(urlSpan),  
                        sp.getSpanEnd(urlSpan),  
                        Spannable.SPAN_EXCLUSIVE_INCLUSIVE);  

            }  
            tv.setText(style);  
        }  
    }  

    private class MyURLSpan extends ClickableSpan {  

        private String url;  

        public MyURLSpan(String url) {  
            this.url = url;  
        }  

        @Override  
        public void onClick(View arg0) {  
            startActivity(new Intent(WXEntryActivity.this,RegisterActivity.class));  
        }  

    }  

}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值