自定义AutoCompleteTextView的点击事件

来源:互联网 发布:1390清零软件中文版 编辑:程序博客网 时间:2024/05/22 00:34

本来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什么的..

0 0
原创粉丝点击