我有一个 textView 和类似的文本
“这是简单的文本KeyWord和Link浏览”
在上面的文字中我想做..
单击链接即可打开该 URL
AND
单击该关键字在我的应用程序中打开一个新活动
also,
甚至整个 TextView 都有一个单击事件。
请帮我找到解决方案。
谢谢你,
MKJ帕雷克
您可以做的就是创建一个自定义ClickableSpan
如下,
class MyCustomSpannable extends ClickableSpan
{
String Url;
public MyCustomSpannable(String Url) {
this.Url = Url;
}
@Override
public void updateDrawState(TextPaint ds) {
// Customize your Text Look if required
ds.setColor(Color.YELLOW);
ds.setFakeBoldText(true);
ds.setStrikeThruText(true);
ds.setTypeface(Typeface.SERIF);
ds.setUnderlineText(true);
ds.setShadowLayer(10, 1, 1, Color.WHITE);
ds.setTextSize(15);
}
@Override
public void onClick(View widget) {
}
public String getUrl() {
return Url;
}
}
并使用其onClick()
用于打开活动或 URL。我正在添加一个用于加载 URL 的演示WebView
.
String text = "http://www.google.co.in/";
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(text);
MyCustomSpannable customSpannable = new MyCustomSpannable(
"http://www.google.co.in/"){
@Override
public void onClick(View widget) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(customSpannable.getUrl()));
startActivity(intent);
}
};
stringBuilder.setSpan(customSpannable, 0, text.length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText( stringBuilder, BufferType.SPANNABLE );
textView.setMovementMethod(LinkMovementMethod.getInstance());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)