TextView mTextView2;
//在onCreate方法中找到赋值的控件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test2);
mTextView2 = (TextView)findViewById(R.id.text2);
/*********** 同一个TextView不同文字的点击事件*******/
StringBuilder actionText = new StringBuilder();
actionText
.append("我已阅读并同意"+"<a style=\"text-decoration:none;\" href='username'>"
+ "《用户协议》" + " </a>");
actionText
.append("和"
+ "<a style=\"color:blue;text-decoration:none;\" href='singstar'> "
+ " 《隐私协议》" + "</a>");
mTextView2.setText(Html.fromHtml(actionText.toString()));
mTextView2.setMovementMethod(LinkMovementMethod
.getInstance());
CharSequence text = mTextView2.getText();
int ends = text.length();
Spannable spannable = (Spannable) mTextView2.getText();
URLSpan[] urlspan = spannable.getSpans(0, ends, URLSpan.class);
SpannableStringBuilder stylesBuilder = new SpannableStringBuilder(text);
stylesBuilder.clearSpans(); // should clear old spans
for (URLSpan url : urlspan) {
TextViewURLSpan myURLSpan = new TextViewURLSpan(url.getURL());
stylesBuilder.setSpan(myURLSpan, spannable.getSpanStart(url),
spannable.getSpanEnd(url), spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
mTextView2.setText(stylesBuilder);
}
private class TextViewURLSpan extends ClickableSpan {
private String clickString;
public TextViewURLSpan(String clickString) {
this.clickString = clickString;
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(TestActivity.this.getResources().getColor(R.color.read_mian));
ds.setUnderlineText(false); //去掉下划线
}
@Override
public void onClick(View widget) {
if (clickString.equals("username")) {
//点击不同文字你要跳转的页面
} else if (clickString.equals("singstar")) {
//点击不同文字你要跳转的页面
}
}
}
同一个TextView不同文字的点击事件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言----功能出现的原因 项目新功能,设计图如下: 这里由于文字换行的时候是跟第一行对左对齐的 ,所以这里考虑两...
- 一、前言: 我们在开发中,经常遇到一段文本,需要单独给它部分文字设置不同的样式,有的文字设置为粗体,有的文字设置特...
- 一、前言: 我们在开发中,经常遇到一段文本,需要单独给它部分文字设置不同的样式,有的文字设置为粗体,有的文字设置特...
- 由于目前APP的上架需求,有的商城已经开始了免责声明,虽然不知道这样做是好是坏,但是需求在那我们就必须去实现了╮(...
- 效果图 喏,上面的就是效果图... 是不是第一个反应就是:md,so 简单 但是这样肯定不可以啊~1是麻烦2是客...