自定义AutoCompleteTextView的点击事件

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值