您的位置:首页 > 其它

自定义AutoCompleteTextView的点击事件

2016-01-10 23:35 363 查看
本来Textview的autolink用的挺舒服的.. 无奈老板的一个需求: 不能直接打电话,必须弹个dialog确认一下.. 好吧..我就开始在网上翻…找来找去也没看到一个太好的方法…. 但是没想到读书千遍,其义自现啊…突然有个灵光想说综合一下查到的试试呗…

直接上结果:

首先 要写一个方法:

/**
* 用于自定义textview的autolink点击事件
* @param context
* @param str
*/
public static CharSequence customTxtAutoLink(final Context context, CharSequence  str) {

SpannableStringBuilder clickableHtmlBuilder = new SpannableStringBuilder(str);
URLSpan[] urls = clickableHtmlBuilder.getSpans(0, str.length(), URLSpan.class);
for(final URLSpan span : urls) {
setLinkClickable(clickableHtmlBuilder, span, new ClickableSpan() {
@Override
public void onClick(View widget) {
//这里写你自定义的事件
}
});
}
return clickableHtmlBuilder;
}


然后布局文件里还是要写上autolink:

<TextView
android:id="@+id/about_txt_phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/txt_def"
android:autoLink="phone"
android:layout_marginTop="30px"
android:textSize="54px" />


最后在activity里给你的textview赋两次值.

txtPhone.setText(failureReasons);
txtPhone.setText(customTxtAutoLink(context, txtPhone.getText()));


OK,大功告成~布局文件里autolink可以自己按需求换成web什么的..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  textview autolink