知道這很晚了。只是覺得別人也可能會覺得這很有用。
你可以實現你自己的ClickableSpan
來實現這一點。您可以從頭創建一個Spannable並分配給TextView
像:
Spannable text = Spannable.newSpannable("Source text with link");
ClickableSpan link = new ClickableSpan {
public abstract void onClick (View widget) {
// Implement your own link behaviour
}
}
text.setSpan(clickable, startPos, endPos, flags);
textView.setText(text);
或者,如果你的來源是HTML,您可以使用Html.fromHtml("Source text with <a href='whatever'>link</a>")
其解析HTML並轉換成鏈接爲URLSpan你。然後,您需要用您自己的ClickableSpan
替換上述所有URLSpan
。 (見Spanned#getSpans和Spannable)
這可能很乏味。因此我創建了一個庫來簡化這個問題。隨着Textoo就可以實現同樣喜歡:
Spanned linksLoggingText = Textoo
.config("Links: <a href='http://www.google.com'>Google</a>")
.parseHtml()
.addLinksHandler(new LinksHandler() {
@Override
public boolean onClick(View view, String url) {
Log.i("MyActivity", "Linking to google...");
return false; // event not handled. Continue default processing i.e. link to google
}
})
.apply();
這將是很好,如果你可以格式化你的問題,以添加一些空間,也使您的問題在一個單獨的段落。這樣你的問題會吸引更多的人:) – hoomi 2014-08-30 10:57:57
感謝您的提示。完成 – 2014-08-30 11:00:01
爲什麼你不能在列表視圖中擁有最愛? – Breadbin 2014-08-30 12:13:47