2015年8月21日 星期五

Android TextView 文字中加入超連結

首先先new 一個SpannableString 將你要顯示的文字加進去,這裏將 Click here 加入。
SpannableString sp = new SpannableString("Click here");

使用setSpan(what, start, end, flags)what 需要new 一個 URLSpan 告訴他你想解決的事,
new URLSpan("tel:4155551212") //電話
new URLSpan("mailto:webmaster@google.com") //E-mail
new URLSpan("http://www.baidu.com")//URL
new URLSpan("sms:4155551212") // SMS
new URLSpan("sms:4155551212") //MMS
new URLSpan("geo:38.899533,-77.036476") //地圖

這邊使用URL連結,所以只將URL放入即可start 與 end 是文字中需要連結的部分,這裏將文字 here 設為連結。flags 填入 Spanned.SPAN_EXCLUSIVE_EXCLUSIVEsp.setSpan(new URLSpan("www.androidjackliao.blogspot.tw"), 6, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

最後記得將TextView setMovementMethod 設置 LinkMovementMethod.getInstance()
就是讓你的文字可以點擊
text_view.setMovementMethod(LinkMovementMethod.getInstance());